Em xin được gửi lời cảm ơn đến Ban lãnh đạo Công ty cổ phần FPT Đà Nẵng đã tạo điều kiện cho chúng em được tham gia thực tập tại công ty cũng như tạo điềukiện tốt nhất có thể để chúng em
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel (+84.0236) 3736949, Fax (+84.0236) 3842771 Website: itf.dut.udn.vn, E-mail: cntt@dut.udn.vn
BÁO CÁO THỰC TẬP TỐT NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN
Xây dựng web tin tức công nghệ
Trang 2trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trong suốtthời gian từ khi bắt đầu học tập ở giảng đường đại học đến nay, em đã nhận được rấtnhiều sự quan tâm, giúp đỡ của quý thầy cô, gia đình và bạn bè
Trong đợt thực tập vừa qua, em đã nhận được sự huớng dẫn, giúp đỡ từ nhiềuphía Tất cả những điều đó đã trở góp phần rất lớn giúp em có thể hoàn thành tốt đợtthực tập tốt nghiệp này Em xin được gửi lời cảm ơn đến tất cả mọi người Đặc biệt
là anh Nguyễn Tấn Huy, là người đã hướng dẫn em trong suốt thời gian thực tập vừaqua
Em xin được gửi lời cảm ơn đến Ban lãnh đạo Công ty cổ phần FPT Đà Nẵng
đã tạo điều kiện cho chúng em được tham gia thực tập tại công ty cũng như tạo điềukiện tốt nhất có thể để chúng em hoàn thành đợt thực tập trong thời gian qua
Bài báo cáo được thực hiện trong thời gian 1 tháng Bước đầu đi vào thực tế,tìm hiểu về chuyên ngành, kiến thức của chúng em còn hạn chế và còn nhiều bỡngỡ Do vậy, không tránh khỏi những thiếu sót khi xuống thực tập ở doanh nghiệp,
em rất mong nhận được những ý kiến đóng góp quý báu của quý thầy và các bạn để kiến thức của em trong lĩnh vực này được hoàn thiện hơn
Em cũng xin được gửi lời cảm ơn đến lãnh đạo trường Đại học Bách Khoa Đại học Đà Nẵng, lãnh đạo khoa Công nghệ thông tin cùng quý thầy cô trong khoa
-đã tổ chức các buổi giao lưu giữa các doanh nghiệp và sinh viên thật sự bổ ích Qua
đó giúp chúng em có cơ hội tìm được một đơn vị thực tập tốt cũng như định hướngđược công việc trong tương lai
Trân trọng
Đà Nẵng, ngày 19 tháng 06 năm 2019
Sinh viên thực hiện
Nguyễn Văn Anh
NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN
Trang 3
Trang 5
DANH SÁCH HÌNH
5
5
Trang 6CHƯƠNG I: GIỚI THIỆU VỀ CÔNG TY FPT
1.1 Tổng quan
Logo FPT
• Tên công ty: Công ty cổ phần FPT
• Trang web: https://fpt.com.vn/
• Địa chỉ: Chi nhánh Đà Nẵng - Nam kỳ khởi nghĩa, p Hòa Hải, q Ngũhành sơn,TP.Đà Nẵng
1.2 Lịch sử hình thành & phát triển
Năm 1999: Tháng 6, khai trương Trung tâm Phần mềm Chiến lược số 1(FSU1) từ 13 cán bộ của FSS Giám đốc Trung tâm là Nguyễn Thành Nam, các Phógiám đốc là Nguyễn Khắc Thành và Nguyễn Lâm Phương Trụ sở tại 23 Láng Hạ(toà nhà City Flower) FSU1 sau này được đổi tên thành FPT Software
6
6
Trang 7Năm 2000: Tháng 3, FPT Software ký hợp đồng OSDC (Trung tâm phát triểnphần mềm cho khách hàng) đầu tiên với khách hàng Harvey Nash, tiền thân của G1(Trung tâm Sản xuất phần mềm số 1) Sau 6 tháng, dự án đầu tiên với OSDC chokhách hàng Proximus (Bỉ) được khởi động với danh sách 9 người chính thức
Năm 2001: FPT Software chuyển hướng sang thị trường Nhật Sau chuyếnĐông du cuối năm 2000 của anh Nam và anh Trương Gia Bình với sự cố vấn và thuxếp của vị Giám đốc Sumitomo cho gặp các công ty hàng đầu Nhật Bản, FPTSoftware đã có hợp đồng đầu tiên với NTT-IT
Năm 2002: Tháng 3, chiến dịch CMM-4 thành công sau gần một năm triểnkhai, FPT Software trở thành công ty đầu tiên tại Đông Nam Á đạt CMM-4, lọt vàodanh sách danh 100 công ty hàng đầu thế giới về Quản lý chất lượng, đồng nghĩa vớiviệc FPT giành tấm giấy thông hành hạng nhất để lọt vào thị trường lớn phần mềmthế giới
Năm 2003: Tháng 9, FPT Software giành giải toàn đoàn cả trong Hội thao vàHội diễn Văn nghệ 13/9 Lần đầu tiên Hội thao FPT có môn Diễu hành và FPTSoftware trở thành đội đầu tiên đoạt Huy chương Vàng ở môn thi này
Năm 2004: Tháng 4, FPT Software tổ chức lễ khai trương chi nhánh tại TPHCM
Năm 2005: Tháng 8, FPT Software tổ chức lễ khai trương chi nhánh tại TP
Đà Nẵng
Năm 2006: Tháng 5, FPT Software đạt tiêu chuẩn CMMi mức 5, đưa FPTvào danh sách 150 công ty và tổ chức trên toàn thế giới được Viện Công nghệ phầnmềm Mỹ (SEI) công nhận hệ thống quy trình sản xuất phần mềm đạt mức cao nhấttrong mô hình trưởng thành về năng lực sản xuất phần mềm
Năm 2007: Ngày 13/3, chi nhánh thứ 2 của FPT Software tại nước ngoàiđược thành lập - Công ty TNHH Phần mềm FPT châu Á - Thái Bình Dương (FAP)
7
7
Trang 8do FPT Software sở hữu 100% vốn Sự kiện thu hút gần 100 quan chức chính phủhai nước và khách hàng của hai công ty
Năm 2008: FPT Software hoàn thành một bước của toàn cầu hoá, có mặt tạitất cả các thị trường dự kiến: Nhật, Singapore, châu Âu, Mỹ, Australia, Malaysia
Năm 2009: Kỷ niệm sinh nhật FPT Software 10 năm, một loạt hoạt động thểthao, văn hóa, từ thiện diễn ra trên cả ba miền FPT Software: Giải bóng đá FPTSoftware World Cup với sự tham gia của 3 miền trong nước và các chi nhánh nướcngoài tại Đà Nẵng; Lễ Vinh danh 108 Anh hùng FPT Software tại Hà Nội; Phát độngchương trình Xổ số Lucky Draw quyên tiền xây nhà từ thiện cho 2 hộ nghèo ở miềnTrung…
Năm 2010: Tháng 1, khánh thành tòa nhà FPT Đà Nẵng - tòa nhà đầu tiên doFPT Software sở hữu và là tòa nhà thứ hai của Tập đoàn FPT (sau FPT Cầu Giấy, HàNội)
Năm 2011: Tháng 8, FPT Software tổ chức sự kiện STCo Night Đây là hoạtđộng văn nghệ lớn nhất lần đầu tiên có sự tham gia của tất cả công ty thành viên ở cả
ba miền
Năm 2012: Ra mắt Ban lãnh đạo mới của FPT Software Công ty tái cấu trúc
mô hình quản lý theo các FSU FPT Software trở lại tốc độ tăng trưởng hơn 30%
Tháng 9/2013, FPT Software đã lọt Top 500 Công ty Cung cấp Dịch vụ Phầnmềm lớn nhất Thế giới do Tạp chí Phần mềm với 31 năm kinh nghiệm của Mỹ đánhgiá Trong hai năm liên tiếp 2014 -2015, FPT Software liên tục lọt vào danh sách
100 nhà cung cấp dịch vụ ủy thác toàn cầu
Năm 2015 tiếp tục đánh dấu sự phát triển mạnh của đơn vị với mức tăngtrưởng doanh thu 34%, nhân sự tăng 28% Nhật Bản tiếp tục đóng vai trò chủ đạovới gần 50% thị phần Sau 1 năm chính thức hoạt động từ thương vụ M&A lịch sử,FPT Slovakia đã bắt nhịp được với các chi nhánh khác của FPT Software
8
8
Trang 9Phần mềm FPT đang tiến đến mục tiêu cán mốc 1 tỷ USD doanh thu và có đội ngũnhân sự gồm 30.000 người vào năm 2020 Đơn vị sẽ cần tuyển mới từ 4.500 đến10.000 nhân viên mỗi năm Ngày 1/1 vừa qua, FPT Software đã ra mắt mô hình tổchức mới
Năm 2016 FPT Software là công ty phần mềm đầu tiên của Việt Nam đạt200M USD và đạt 10000 nhân viên
Năm 2018 Ghi nhận mốc doanh thu gần 400M USD với mức tăng trưởng lợinhuận trên 30% so với năm 2017 Tất cả các thị trường chính Japan,America,EU vàAPAC để hoàn thành các chỉ tiêu doanh số, lợi nhuận và tốc độ tăng trưởng vượtbậc Nâng suất lao động tăng 10% so với năm trước tương đương với mức tăngtrưởng của 3 năm trước cộng lại
Tháng 7/2018 FPT Software đã công bố hoàn tất thương vụ M&A lịch sử vớiIntellinet, một trong những công ty tư vấn công nghệ có tốc độ tăng trưởng nhanhnhất tại Mỹ.Theo đó, FSOFT mua 90% cổ phần trở thành nhà đầu tư chiến lược củacông ty Intellinet Đây là lần đầu tiên một công ty CNTT của Việt Nam mua mộtcông ty tư vấn của Mỹ Việc này là một trong những bước đi chiến lược của FSOFT
để thực hiện tham vọng 1 tỷ USD doanh thu vào năm 2020
Trang 10• Trung tâm (Group): Các Trung tâm Kinh doanh Chức danh: Giámđốc Trungtâm
• Phòng Sản xuất (Division): Các đơn vị trực tiếp sản xuất trong mỗiTrung tâm.Chức danh: Trường Phòng
• Dự án: đơn vị sản xuất cơ bản Chức danh: Giám đốc dự án, quản trịdự án
Trang 11CHƯƠNG II: QUY TRÌNH THỰC TẬP
2.1 Dự án được phát triền
2.1.1 Tên ứng dụng
Website nói về tin tức về công nghệ
Mục đích: giúp mọi người có thể nắm bắt nhanh về các công nghệ mới hiệnnay một cách nhanh chóng,nắm bắt kịp xu hướng thời đại mới
2.1.2 Các chức năng
Các đối tường mà web ứng dụng phục vụ được chia thành 2 đối tượng: Admin vàmod
- Admin:
• Quản lý người dùng ,vô hiệu hóa người dùng
• Quản lý việc đăng tin tức
• Cập nhật , sửa, xóa tin tức
• Viết bằng ngôn ngữ Java, framework là Spring
• Hệ quản trị cơ sở dữ liệu: SQL Server
• Hệ thống phải có giao diện đơn giản, dễ sử dụng, thân thiện với nguờidùng
• Đảm bảo tính bảo mật thông tin cho hệ thống
11
11
Trang 122.2 Kết chương
Chương này trình bày về đề tài dự án cùng các đặc tả yêu cầu chức năng hệ thống
12
12
Trang 13CHƯƠNG III: CƠ SỞ LÝ THUYẾT 3.1 Spring Framework là gì
hàng triệu lập trình viên Nó giúp tạo các ứng dụng có hiệu năng cao, dễ kiểm thử,
sử dụng lại code… Spring nhẹ và trong suốt (nhẹ: kích thước nhỏ, version cơ bảnchỉ khoảng 2MB; trong suốt: hoạt động một cách trong suốt với lập trình viên)Spring là một mã nguồn mở, được phát triển, chia sẻ và có cộng đồng người dùngrất lớn Spring Framework được xây dựng dựa trên 2 nguyên tắc design chính là:Dependency Injection và Aspect Oriented Programming Những tính năng core (cốtlõi) của Spring có thể được sử dụng để phát triển Java Desktop, ứng dụng mobile,Java Web Mục tiêu chính của Spring là giúp phát triển các ứng dụng J2EE mộtcách dễ dàng hơn dựa trên mô hình sử dụng POJO (Plain Old Java Object)
3.2 Các kiến trúc lập trình
3.2.1 Kiến trúc truyền thống (Còn gọi là mô hình 1 - Model
Kiến trúc Model 1 hết sức đơn giản Tóm lại là tất cả mọi thứ đều được góigọn trong Servlet hoặc JSP từ việc xử lý request, xác nhận tính hợp lệ của dữ liệu,điều quản business logic và generate response Mặc dù về khái niệm hết sức đơngiản, kiến trúc này không phù hợp cho việc phát triển các ứng dụng quy mô lớn vìchắc chắn một số lượng lớn các tính năng sẽ bị lặp lại trong các trang JSP (lặp lạicode) Cũng vậy, kiến trúc Model 1 tạo nên sự ràng buộc không cần thiết giữabusiness logic và presentation logic của ứng dụng Ví dụ, ngoài giao diện HTML,bạn có thể muốn thêm một giao diện WML cho truy nhập wireless Trong trườnghợp này, việc sử dụng Model 1 yêu cầu sự lặp lại không cần thiết của business logic
3.2.2 Kiến trúc MVC (Còn gọi là mô hình 2 - Model 2)
Model 2, hay cách gọi thông dụng ngày nay, Model-View-Controller (MVC),giải quyết nhiều vấn đề của Model 1 với việc cung cấp một sự phân tách rõ ràngtrong ứng dụng Trong kiến trúc MVC, một Servlet trung tâm, được gọi là
13
13
Trang 14Controller, tiếp nhận tất cả các request cho ứng dụng Sau đó Controller sẽ xử lýrequest và làm việc với Model để chuẩn bị những dữ liệu cần thiết cho View(thường là JSP) và forward dữ liệu tới trang JSP Sau đó JSP sử dụng các dữ liệu đãđược chuẩn bị bởi Controller để generate một response về cho browser Trong kiếntrúc này, business logic và presentation logic được phân tách nhau Việc táchbusiness code và presentation code giúp ta có thể sử dụng nhiều giao diện cho ứngdụng, chúng có thể là Web, wireless hay GUI Thêm vào đó, việc phân tách này còncung cấp việc tái sử dụng lại code một cách hòan hảo
Có một điều khá lý thú ở đây là tôi đã từng cho rằng việc trong một ứng dụngWeb có thể có nhiều Controller thì ứng dụng đó cũng sử dụng MVC Có nghĩa là cứmột view component ta sẽ có một Controller cho nó Tuy nhiên điều này là hòantòan sai với mẫu thiết kế MVC
3.2.3 Tìm hiểu các thành phần của MVC (Model-View-Controller)
1) Model component
Trong kiến trúc MVC, các model component cung cấp một giao diện với dữliệu và/hoặc các dịch vụ được sử dụng bởi ứng dụng Theo cách này, các controllercomponent không cần phải chứa code để thao tác với dữ liệu của ứng dụng Thayvào đó, chúng giao tiếp với các model component để thực hiện truy cập và thao tác
dữ liệu Như vậy, các model component cung cấp business logic Các modelcomponent có thể ở nhiều dạng từ các Java bean đến các EJB hay các Web service
2) View component
Các view component được sử dụng trong kiến trúc MVC để generate response
về browser Như vậy một view component cung cấp những gì mà user nhìn thấy Thường thì các view component là các trang JSP hay HTML đơn giản Tuy nhiên,các view component cũng có thể sử dụng WML hay các công nghệ khác Đây là
14
14
Trang 15một ưu điểm thiết kế chính của MVC Bạn có thể sử dụng bất kỳ công nghệ hiển thịnào mà không sợ tác động đến lớp Model của ứng dụng
3) Controller component
Ở trung tâm của kiến trúc MVC là các controller component Controllerthường là một Servlet tiếp nhận các request cho ứng dụng và quản lý luồng dữ liệugiữa lớp Model và lớp View Như vậy, nó điều khiển cách mà các lớp Model vàView tương tác Controller thường sử dụng các helper class để chuyển điều khiểnqua các request hay tiến trình xác định
Mặc dù kiến trúc MVC cung cấp một khả năng mạnh mẽ trong việc tổ chứccode, việc phát triển vẫn gặp phải một số vấn đề “đau khổ” Đó là nơi Struts nhảy
vô Struts là một Web application framework hướng tới việc phát triển các ứng dụngWeb dựa trên Java Vậy thực sự nó là cái gì? Có phải Struts là một phần bổ xung(add on) hay mở rộng của một ứng dụng Web MVC? Hay Struts chỉ là vài thư viện?Thực sự thì Struts là mỗi thứ một chút Struts cung cấp nền tảng, hay framework, đểxây dựng một ứng dụng hướng MVC cùng với các thư viện và tiện ích để làm choviệc phát triển MVC được nhanh hơn và dễ dàng hơn
Bạn có thể tạo mới một Controller mỗi lần bạn muốn sử dụng mẫu thiết kếMVC trong ứng dụng Web của mình Thêm vào đó, bạn cần tạo management/flowlogic để chuyển và lấy dữ liệu từ Model và sau đó định hướng tới View Bạn cũngcần định nghĩa giao diện để tương tác với các Model object và tất cả các utility code
đi kèm để sử dụng mẫu thiết kế MVC Tuy nhiên, thay vì lặp lại tiến trình này mỗikhi bạn tạo một ứng dụng mới, bạn có thể sử dụng Struts Struts cung cấp cấu trúc
và outline cơ bản để xây dựng ứng dụng, cho phép bạn tập trung vào xây dựngbussiness logic mà không phải lo nhiều đến các thứ “linh tinh” khác
15
15
Trang 163.2.5 Thư viện thẻ JSP
Spring đưa ra các thư viện thẻ để hỗ trợ việc lập trình View logic trong JSP.Các thư viện thẻ JSP cho phép các JSP author sử dụng các thẻ giống HTML
3.2.6 Tiles plugin
Tiles là một JSP template framework giúp thuận tiện cho việc tái sử dụng mãHTML
3.2.7 Validator plugin
Validator là một framework với khả năng thực hiện xác nhận tính hợp lệ của
dữ liệu ở cả phía server và client
16
16
Trang 173.3 Kết quả triển khai
Trang 18Hình 3: Giao diện trang chủ
Hình 4: Giao diện trang chủ
18
18
Trang 19Hình 5: Giao diện danh mục
Hình 6: Giao diện trang chi tiết
19
19
Trang 20Hình 7: Giao diện trang admin
Hình 8: Giao diện trang quản lí danh mục
20
20
Trang 21Hình 9: Giao diện trang quản lí tin tức
Hình 10 : Giao diện trang quản lí bình luận
21
21
Trang 22Hình 11: Giao diện trang quản lí user
3.5 Kết chương
Chương này trình bày giới thiệu về Java, Spring và một số hình ảnh trang web
22
22
Trang 23CHƯƠNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1 KẾT QUẢ ĐẠT ĐƯỢC
Về mặt lý thuyết, trong thời gian thực tập đã đạt được:
• Ứng dụng được những nội dung học ở trường:
o Tìm hiểu thêm được một số frame work mới
o o Có sự hiểu biết thêm về ngành công nghiệpWeb
o Nắm bắt được quy trình làm web và phát triểnweb
• Những điểm mạnh và hạn chế của vấn đề thực tập tại công ty:
o Môi trường thực tập thoải mái
o Nhận được sự hỗ trợ nhiệt tình từ bên phía côngty
o Địa điểm làm việc cách xa trường
o Thời gian thực tập quá ngắn nên một số chức năng của web chưađược hoàn thiện
23
23
Trang 242 KIẾN NGHỊ VÀ HƯỚNG PHÁT TRIỂN
Sau khi thực tập tại công ty và hoàn thành báo cáo thực tập tốt nghiệp Bảnthân em đã học hỏi được được nhiều điều, được sự giúp đỡ tận tình của các anh chịtrong công ty, và có một môi trường thực tập thỏa mái Sau khi hoàn thành chươngtrình tốt nghiệp, bản thân em có nguyện vọng công ty mở thêm nhiều khóa huấnluyện thực tập để có thể tạo cơ hội cho nhiều sinh viên hơn được vào thực tập Một số định hướng phát triển của đề tài như sau:
- Hoàn thành đẩy đủ các chức năng
- Thay đổi giao diện cho web nhìn đẹp hơn và đảm bảo responsive
24
24