LỜI MỞ ĐẦUHiện nay chúng ta đang chứng kiến sự phát triển vượt bậc của các ngành khoa học ,đặcbiệt là công nghệ thông tin.Công nghệ thông tin đã và đang được ứng dụng trong nhiềulĩnh vực
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM
Trang 2LỜI CẢM ƠN
Trong quá trình thực hiện bài báo cáo thực tập này, tôi đã may mắn nhận được sựgiúp đỡ từ nhiều cá nhân và đơn vị Trước hết, tôi xin gửi lời tri ân sâu sắc nhất đến quýthầy, cô khoa Công nghệ phần mềm cũng như quý thầy, cô của các khoa và bộ môntrường Đại học Công Nghệ Thông Tin - ĐHQG HCM đã nhiệt tình truyền đạt kiến thức
và các kinh nghiệm thực tế
Tôi cũng xin gửi lời cảm ơn đến Ban Giám đốc và Trung tâm đào tạp TMA, cùngvới sự hỗ trợ nhiệt tình của Phó giám đốc trung tâm TTC Phạm Đặng Bảo Việt, PM TrầnPhước Hậu, các giảng viên Bùi Bích Thị Quỳnh Trang, Lê Tuấn và các thành viên trongnhóm bao gồm Nguyễn Thế Anh, Lê Minh Châu, Hà Phú Nguyên, Bùi Tá Hậu… đã cóchia sẻ, truyền đạt cả kiến thức, kinh nghiệm và hỗ trợ trong quá trình tôi thực tập tạitrung tâm
Cuối cùng, tôi xin gửi lời chúc sức khỏe và thành công đến quý thầy, cô trường Đạihọc Công Nghệ Thông Tin và các giảng viên hướng dẫn trung tâm TTC, chúc công ty đạtđược các bước phát triển đột phá trong tương lai
Thành phố Hồ Chí Minh, ngày 28 tháng 06 năm 2011
Sinh viên thực hiện
Phạm Việt Sơn
Trang 3
Chữ ký của người đại diện
Trang 4MỤC LỤC
Chương 1: GIỚI THIỆU VỀ TMA SOLUTION………7
1.1 Quá trình hình thành và phát triển của TMA solutions 7
1.2 Tổ chức TMA SOLUTIONS 9
1.2.1 Sơ đồ bộ máy tổ chức của công ty 9
1.2.2 Chức năng và nhiệm vụ của các phòng ban 9
Chương 2: HOẠT ĐỘNG CHUYÊN NGÀNH VÀ MÔI TRƯỜNG LÀM VIỆC TẠI TMA SOLUTIONS 10 2.1 Các hoạt động chuyên ngành 11
2.1.1 Telecom/Network R&D 11
2.1.2 Ứng dụng kinh doanh 12
2.1.3 Giải pháp Mobile 12
2.1.4 Những giải pháp Microsoft……….13
2.1.5 Những giải pháp Mã nguồn mở ……….13
2.1.6 Năng lực Java……….……….14
2.1.7 Phần mềm nhúng……….15
2.2 Môi trường làm việc và các chính sách tại TMA SOLUTIONS 16
Chương 3: GIỚI THIỆU DỰ ÁN THỰC TẬP VÀ KẾT QUẢ ĐẠT ĐƯỢC 17 3.1 Giới thiệu dự án mạng xã hội iBee 17
3.1.1 Tổng quan 17
Trang 53.2 Nội dung công việc được phân công trong dự án 193.3 Kết quả đạt được 21
TÀI LIỆU THAM KHẢO
23
Trang 7LỜI MỞ ĐẦU
Hiện nay chúng ta đang chứng kiến sự phát triển vượt bậc của các ngành khoa học ,đặcbiệt là công nghệ thông tin.Công nghệ thông tin đã và đang được ứng dụng trong nhiềulĩnh vực Các lĩnh vực cũng cần được điện tử hóa, thay về quản lý, lưu trữ bằng tay nhưtrước bây giờ phần việc này được đảm nhiệm bằng những ứng dụng, bằng những phầnmềm quản lý Nên việc chọn đề tài cũng khá khó khăn, nhóm và giảng viên đã nêu ranhiều chủ đề để nhóm chọn như: xây dựng trang thương mại điện tử, mạng xã hội, phầnmềm về bảo mật ngân hàng… nhưng nhóm đã quyết định chọn và xây dựng trang mạng
xã hội Do hiện nay mạng xã hội đã và đang được sử dụng bởi rất nhiều người Mục tiêunhằm xây dựng mạng xã hội của người việt, có nhiều chức năng, giao diện thân thiện vớingười việt hơn Sau một thời gian bàn bạc nhóm đã quyết định lấy tên là ibee
Mục tiêu trong đề tài này là xây dựng một web application trên nền tảng của J2EE cùngnhững nền tảng mã nguồn mở phổ biến hiện nay là Hibernate, Spring Các mảng nhưJava, Hibernate, Spring tuy ra đời cũng khá lâu, và là những mã nguồn mở nhưng ở ViệtNam chưa được phổ biến Mục tiêu cụ thể là tìm hiểu công nghệ J2EE và 2 frameworkHibernate, Spring đồng thời xây dựng website mạng xã hội sử dụng những công cụ này
Trang 8Chương 1: GIỚI THIỆU VỀ TMA SOLUTIONS
1.1 Quá trình hình thành và phát triển của công ty TMA solution:
TMA được thành lập năm 1997 và nhanh chóng trở thành công ty phần mềm hàng đầuViệt Nam với tốc độ tăng trưởng trung bình hàng năm là hơn 50% Mục tiêu của TMA làtrở thành tập đoàn công nghệ cao hàng đầu và góp phần đưa tên Việt Nam vào bản đồ giacông phần mềm thế giới
TMA solution là công ty chuyên cung cấp các
Dịch vụ và giải pháp phần mềm
Dịch vụ kĩ thuật: triển khai và kiểm tra mạng viễn thông, thiết kế và xâydựng hệ thống mạng, giải pháp bảo mật
Đào tạo chuyên nghành cho kỹ sư CNTT và viễn thông
Những công nghệ được công ty sử dụng:
Viễn thông và mạng: PBX, call center software, soft switch, IMS, SIP, VoIP,Asterisk, broadband/security router, firewall, network management software, NGN
Phần mềm nhúng và di động: VxWorks, RT-Linux, Symbian, Windows Mobile,J2ME, iPhone, SMS, WML
Phần mềm ứng dụng cho doanh nghiệp: dựa trên công nghệ Microsoft và mãnguồn mở
Đội ngũ kĩ sư:
Hơn 1000 kỹ sư
90% có bằng đại học, 10% có bằng thạc sĩ hoặc tiến sĩ
Hơn 1/3 kỹ sư có ít nhất 5 năm kinh nghiệm làm việc
Trang 9 40% kỹ sư có kinh nghiệm học tập và làm việc ở nước ngoài
Tiếng Anh là ngôn ngữ chính giao tiếp trong công việc Những ngôn ngữ khác:Tiếng Nhật, Tiếng Pháp, Tiếng Hoa
Quy trình chất lượng:
ISO 9001:2000
TL 9000
CMMi-Level 3
Công ty TMA tự hào là:
Công ty phần mềm có quy mô lớn nhất Tp.HCM và thứ hai Việt Nam với trên1,000+ kỹ sư
6 năm liền đạt huy chương vàng xuất khẩu phần mềm
Công ty phần mềm viễn thông hàng đầu Đông Nam Á
Được các công ty hàng đầu thế giới tin tưởng và hợp tác lâu dài: Avaya, IBM,Alcatel-Lucent, Nortel, Juniper Networks, Flextronics, Genband, NTT, Toshiba,Andrew, Telus, NEC, etc
Được nhiều đài truyền hình và báo chí quốc tế giới thiệu: CNN (Mỹ), NHK(Nhật), Global (Brazil), National (Thái Lan), Nikkei Computer (Nhật) để minhchứng cho sự phát triển của ngành phần mềm của VN
Chứng minh năng lực của kỹ sư Việt Nam trong lĩnh vực công nghệ cao
Trang 101.2 Tổ chức của TMA solutions
1.1 Sơ đồ tổ chức của công ty
Hình 1.1 – Sơ đồ tổ chức TMA solutions.
1.2 Chức năng và nhiệm vụ của các phòng ban
1.2.1 Hội đồng thành viên và Ban Giám đốc
Hội đồng thành viênbao gồm các thánh viên góp vốn, là cơ quan quyết định caonhất của công ty Các chức năng chính của hội đồng thành viên là đảm bảo định hướngphát triển, các quyết định mang tính chiến lược, đảm bảo quy mô, cơ cấu tổ chức và cáchoạt động quản lý đạt hiệu quả
Trang 111.2.2 Trung tâm phát triển phần mềm
Cơ cấu của trung tâm phát triển phần mềm được xây dựng theo mô hình ma trận
bao gồm tổ chức theo Division và tổ chức theo chuyên môn Trong đó, tổ chức theoDivision đóng vai trò chủ đạo và tổ chức theo chuyên môn đóng vai trò hỗ trợ
Bộ phận Kế toán chịu trách nhiệm thu nhận, xử lý và cung cấp thông tin về toàn
bộ tài sản và sự vận động của tài sản nhằm cung cấp những thông tin hữu ích cho việc racác quyết định kinh tế và đánh giá hiệu quả các hoạt động trong doanh nghiệp
Bộ phận Quản trị tài chính có trách nhiệm tổng hợp, phân tích, đánh giá thực trạng
về tài chính; đề xuất và thực hiện các chiến lược tài chính ngắnvà dài hạn của công ty
Bộ phận Đảm chịu trách nhiệm nghiên cứu, ban hành, hướng dẫn và đảm bảo thựchiện các chính sách chất lượng, mục tiêu chất lượng của công ty
Bộ phận Quản trị hệ thống chịu trách nhiệm quản trị hệ thống thông tin trong công
ty, hỗ trợ hiệu quả cho hoạt động của các trung tâm, bộ phận, phòng, ban trong công ty
Bộ phận Truyền thông – Văn hóa chịu trách nhiệm cố vấn, hoạch định chiến lượcđối nội, đối ngoại của công ty nhằm mục đích xây dựng thành công hình ảnh của công ty
1.2.4 Ban Tư vấn chiến lược
Ban Tư vấn chiến lược là một ban trực thuộc quản lý của BGĐ, chịu trách nhiệm
tư vấn và tham mưu các giải pháp chiến lược về hoạt động và phát triển công ty
Trang 121.2.5 Phòng Kinh doanh – Tiếp thị
Phòng Kinh doanh – Tiếp thị là một bộ phận trực thuộc quản lý của BGĐ, chịutrách nhiệm tiếp thị sản phẩm, xây dựng thương hiệu cho sản phẩm và cho công ty,nghiên cứu thị trường, khai thác khách hàng và đảm bảo doanh thu cho công ty theo kếhoạch đề ra
Chương 2: HOẠT ĐỘNG CHUYÊN NGÀNH VÀ MÔI TRƯỜNG LÀM
VIỆC TẠI TMA solutions
Trang 13 Ngôn ngữ lập trình: C/C++, Java, C#, ASP, ASP.NET, PHP, Perl, Ruby.
Database: SQL Server, Oracle, MySQL, PostgreSQL
Middleware và Web Services: J2EE Framework, Net framework, SOAP,CORBA
2.1.1 Phát triển những ứng dụng di động
Hơn 9 năm cung cấp những dịch vụ phát triển ứng dụng trên mobile
Đội ngũ lớn: hơn 100 lập trình viên
2.1.2 Microsoft Solutions
Trang 14Công nghệ:
+ J2EE, J2SE, J2ME
+ JSP/Servlet, Javascript, JSF, Facelets
+ Tag Libs, Java Beans, Custom Tags
Trang 15 Java Networking, RMI, JNI, JNDI
Framework:
Liferay, Apache Cocoon
Struts, Hibernate, Spring
Axis, Trinidad, Tiles
2.1.5 Phần mềm nhúng
TMA có hơn 8 năm kinh nghiệm trong các dự án phần mềm nhúng cho nhiều công
ty lớn như: Nortel, Juniper Networks, Flextronics, NTT, Toshiba
2.1.6 Huấn luyện/đào tạo
TMA có trung tâm đào tạo được gọi là TMA Training Center giúp các bạn học
CNTT mới ra trường tự tin khi xin việc và thành công trong các công ty lớn bằng cách
trang bị cho các bạn các kỹ năng cần thiết trong môi trường làm việc chuyên nghiệp:
Kỹ năng giao tiếp và thuyết trình
Sử dụng ngoại ngữ trong công việc
Quy trình phát triển phần mềm
Công nghệ chuyên ngành
Kinh nghiệm thực tiễn
Môi trường làm việc và các chính sách tại TMA:
Trang 16Trong những năm qua, TMA đã được cải thiện quy trình để trở thành một tổ chức trưởngthành và có hiệu quả TMA đã phát triển và đào tạo nhân viên của mình một cách tiếp cậngọi là TMA Unified Process (TUP) đó là dựa trên tiêu chuẩn công nghiệp và thực hành
Trang 17tốt nhất (RUP, ISO, TL 9000, CMMi, Agile, vv) và TMA kinh nghiệm từ nhiều thànhcông các dự án gia công phần mềm TUP là một chủ trương cho các hoạt động dự ánhướng tới một mục tiêu duy nhất của sự hài lòng của khách hàng TUP thúc đẩy tínhthống nhất và hiệu quả trên tất cả các dự án TMA trong khi duy trì khả năng thích ứngcủa chúng tôi để quá trình khách hàng và quyết định .
Chúng tôi có một nhóm chuyên dụng QMS (Quality Management System) có hỗ trợ các
dự án và các phòng ban trong việc xác định và áp dụng các quy trình
Với hệ thống cơ sở vật chất hoàn chỉnh, môi trường làm việc rộng rãi với 6 Lab.Các công việc được thực hiện đều có quy trình, văn bản quản lý rõ ràng cũng như đượcquản lý chặc chẽ về mặt thời gian Ngoài ra khi làm việc tại TMA solutions nhân viênkhông cảm thấy nhàm chán, gó bó vì hầu hết nhân viên tại công ty là những người trẻ khánăng động, và đầy nhiệt huyết và tại công ty các hoạt động thể dục, thể thao cũng khôngngừng được đẩy mạnh
Tại TMA, tỷ lệ nhân viên nghỉ việc hiện nay cực thấp, theo số liệu của phòng nhân sựcông ty Chủ yếu người nghỉ việc là vì lý do năng lực hoặc bị kỷ luật "Với những chínhsách ưu đãi gần đây như bảo hiểm nhân thọ, bảo hiểm tai nạn, môi trường làm việc thânthiết của gia đình khó mà chia tay công ty", anh Phan Thanh Hải, một kỹ thuật viên vừa
trở lại TMA sau thời gian nghỉ chữa bệnh, cho biết Thưởng
Trong tiến trình thực hiện dự án, nếu nhóm phát triển hoàn thành xuất sắc các yêu cầunghiệp vụ và làm hài lòng khách hàng, khách hàng có thể khen thưởng Các khoảnthưởng này sẽ được chia cho các thành viên của dự án tùy theo đóng góp của mỗi người
và nhận xét của các cấp quản lý
Thưởng:
Hằng tháng công ty đều có quy chế đánh giá, những kết quả của một nhân viên, cứnhư vậy đến cuối năm công ty lấy những kết quả đó để đánh giá nhân viên, cụ thể nếu
Trang 18nhân viên làm việc tích cực, công việc và số project tăng đồng nghĩa với việc lương vàchức vụ sẽ tăng theo Chính điều này làm động lực cho nhân viên phấn đấu để tiến thân,tạo môi trường cạnh tranh trong công ty, đồng thời giúp tạo không khí cạnh tranh đưacông ty tới những đột phá mới
Cơ hội đi nước ngoài: TMA có 5 văn phòng đại diện ở trên thế giới:
Chương 3: GIỚI THIỆU DỰ ÁN THỰC TẬP VÀ KẾT QUẢ ĐẠT ĐƯỢC
3.1 Giới thiệu mạng xã hội ibee:
Ibee là phần mềm để gióp phần xây dựng mạng xã hội nhằm mục tiêu kết nối mọingười lại với nhau Mọi người cùng nhau chia sẽ thông tin, là nơi những thành viên cóthể biểu lộ tâm trạng của mình và những người bạn của họ có thể chia sẽ với nhau Đây làmục đích của project này Project được xây dựng hoàn toàn trên nền tảng mã nguồn mở
Ngôn ngữ: Java, Javascript
Công cụ: Eclipse
Trang 19Database: MySQL.
Server: Apache Tomcat
Framework: 2 open source Hibernate và Spring và các công nghệ khác như ajax vàjson
Hình 3.1 – Giao diện mạng xã hội iBee.
Hiện phần mềm ibee đã có những chức năng cơ bản của một xã hội
3.1.2 Sơ lược chức năng chính hệ thống mạng xã hội iBee.
Trong hệ thống có chức năng phân quyền, hệ thống gồm 2 loại người dùng:
Admin bao gồm các thao tác:
+ Xóa thành viên của mạng
+ Xóa các tin đã đăng
Trang 20+ Xóa các bình luận
+ Thay đổi hay xóa các quản cáo
Chức Năng của thành viên
Đây là phần mềm website mạng xã hội nên có đầy đủ các chức năng của một mạng xã hộihoàn chỉnh Mọi người có thể đăng kí làm thành viên của mạng xã hội bằng cách đăng kíthông tin của mình, sau đó hệ thống sẽ lưu thông tin thành viên Để sử dụng người dùngphải đăng nhập Cụ thể các chức năng của người sử dụng:
+ Đăng kí thành viên mới
+ Cập nhật thông tin của thành viên
+ Tìm thông tin của thành viên
+ Liệt kê bạn
Chức Năng đăng tin
Chức năng đăng tin cũng là chức năng cơ bản của một mạng xã hội iBee cho phépđăng tin, cũng như chia sẽ thông tin với những thành viên khác, ngoài ra có thể đăng hìnhlên cho phép chúng ta có thể chia sẽ những khoảnh khắc khó quên một cách nhanh nhất
có thể đến với mọi người
Chức Năng bình luận
Sau khi đăng tin các thành viên có thể bình luận về tin vừa đăng, bình luận, chia
sẽ suy nghĩ, ý kiến về vấn đề đó
Chức Năng đăng quảng cáo
Website còn cung cấp chức năng đăng quảng cáo, các cơ quan đơn vị muốn
cho mọi người biết thông tin về mình có thể liên lạc với admin để có thể đăng
Trang 21thông tin quảng cáo Mạng xã hội là nơi nhiều người truy cập chính vì vậy rất
thuận lợi để quảng cáo hình ảnh của bạn
3.2 Nội dung công việc được phân công trong dự án
Là thành viên trong nhóm, công việc của tôi là tìm hiểu công nghệ và ứng dụng côngnghệ đó vào để xây dựng website Việc tiếp cận công nghệ đòi hỏi tính tỉ mỉ, và mấtnhiều thời gian Tìm hiểu kiến trúc cũng như cách hoạt động của nó, đồng thời xây dựngứng dụng trên nó trong một khoảng thời gian rất ngắn quả thực rất khó khăn
Nội dung cụ thể:
Hibernate: kiến trúc và cách mapping từ đối tượng với các table trong
database Biết cách viết các file mapping các đối tượng ánh xạ tới cáctable trong cơ sở dữ liệu quan hệ MySQL
Spring: tìm hiểu và vận dụng kiến trúc để xây dựng trong project mạng xã
hội, mô hình MVC, cách kết hợp các framework với nhau: hibernate,log4j, ajax vào trong Spring framework
o Spring MVC: project được xây dựng theo mô hình MVC, trongSpring hỗ trợ mô hình này, nên việc sử dụng mô hình spring MVCvừa tận dụng mô hình web MVC vừa tận dụng được những chứcnăng mạnh mẽ của Spring
o Spring Security( Spring Acegi): Spring Acegi được cho là giải phápbảo mật nổi tiếng trong các ứng dụng sử dụng business J2EE, nócung cấp bảo mật, chứng thực Trong project sử dụng frameworknày để cung cấp chức năng đăng nhập vào hệ thống, và chức năngphân quyền trong project
Khi đăng nhập nó sẽ tự tìm kiếm username và password trongbảng mặc định là users, và username, authority trong table
Trang 22 SVN: Phần mềm quản lý source code Trong quá trình xây dựng project,
mỗi người làm một công việc nên việc sử dụng phần mềm này giúp việcchia sẽ source code và update source code trở nên dễ dàng
Log4j là framework log được viết dành cho java Chức năng này giúp cho
lập trình viên có thể xem hệ thống sử lí như thế nào, giúp lập trình viên cóthể theo dỏi hệ thống hoạt động đồng thời có thể lưu lại nếu có exceptionxảy ra
Ajax và JSON: sử dụng trong Spring MVC Giúp cho project được vận
hành một cách nhẹ nhàng, giúp hệ thống vừa có thể cho người dùng tiếptục thao tác đồng thời có thể sao lưu xuống database JSON và AJAXđược sử dụng trong project để thực hiện việc đăng tin và comment, khingười dùng đăng 1 tin trên trang cá nhân của mình thì nội dụng này đượchiển thị ngay trên trang cá nhân mà không load lại toàn bộ trang Khingười dùng thực hiện đăng tin, nội dung của tin sẽ được serialize theochuẩn của JSON và được gởi tới server, nội dung này được server xử lý vàlưu xuống database Ở trên client, chúng ta sử dụng jquery để thêm nhữngtab để hiển thị nội dung của tin vừa đăng Comment tương tự như vậy