ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KĨ THUẬT MÁY TÍNH LỚP KTMT03 ---oOo---BÁO CÁO THỰC TẬP XÂY DỰNG ỨNG DỤNG HỖ TRỢ DẪN ĐƯỜNG CHO ÔTÔ TRÊN ANDROID Cô
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KĨ THUẬT MÁY TÍNH
LỚP KTMT03
-oOo -BÁO CÁO THỰC TẬP
XÂY DỰNG ỨNG DỤNG HỖ TRỢ DẪN ĐƯỜNG CHO ÔTÔ TRÊN ANDROID
Công ty thực tập: TNHH MTV TƯ DUY MỚI
Người phụ trách: NGUYỄN QUANG THẮNG
Sinh viên thực hiện : PHAN VĂN TRAI
Trang 2Lời cảm ơn
Em xin gửi lời cảm ơn chân thành đến Công ty TNHH MTV TƯ DUY MỚI và đặc biệt là anh Nguyễn Quang Thắng – người đã tận tình giảng dạy và hướng dẫn em trong suốt khóa thực tập Công ty đã tạo môi trường thuận lợi để
em có thể tham gia khóa thực tập một cách tốt nhất Cảm ơn các anh chị hướng dẫn trong công ty đã tạo điều kiện trong suốt quá trình tìm hiểu và thực hiện dự
án Em xin chân thành cám ơn quý thầy cô trong khoa Kĩ Thuật Máy Tính đã nhiệt tình hỗ trợ và tạo điều kiện cho em thực hiện bài báo cáo thực tập này Cuối cùng em xin gửi lời biết ơn đến gia đình, bạn bè đã ủng hộ, giúp đỡ và động viên trong những lúc khó khăn cũng như trong suốt thời gian thực tập Mặc dù em đã cố gắng hoàn thành khóa thực tập với tất cả nỗ lực của mình, nhưng dự án thực tập chắc chắn không tránh khỏi những thiếu sót nhất định, rất mong nhận được sự cảm thông, chia sẻ và tận tình đóng góp chỉ bảo của quý Thầy Cô.
SINH VIÊN THỰC HIỆN PHAN VĂN TRAI
Trang 3NHẬN XÉT CỦA KHOA
Trang 4
M c l c ục lục ục lục
1 Giới thiệu về công ty thực tập 1
1.1 Giới thiệu về công ty TNHH MTV Tư Duy Mới 1
1.2 Một số thông tin chi tiết về công ty Tư Duy Mới 1
2 Kế hoạch thực tập 2
3 Đồ án thực tập 2
3.1 Yêu cầu chức năng (Requirement) 2
3.1.1 Giới thiệu về đồ án 2
3.1.2 Chức năng chính 2
3.1.3 Mô hình use case 3
3.1.4 Yêu cầu chức năng 4
3.2 Thiết kế 7
3.2.1 Sơ đồ lớp 7
3.2.2 Sơ đồ tuần tự 8
3.2.3 Database 9
3.3 Sản phẩm và hướng dẫn sử dụng 10
4 Kết quả đạt được 14
4.1 Kiến thức chuyên môn 14
4.2 Kỹ năng thực hành 14
4.3 Một số kinh nghiệm 14
4.4 Kỹ năng mềm 14
5 KẾT LUẬN 15
Trang 51 Gi i thi u v công ty th c t p ới thiệu về công ty thực tập ệu về công ty thực tập ề công ty thực tập ực tập ập
1.1 Gi i thi u v công ty TNHH T DUY M I ới thiệu về công ty thực tập ệu về công ty thực tập ề công ty thực tập Ư DUY MỚI ỚI
- Công ty TNHH MTV Tư Duy Mới được thành lập năm 2008 và nhanh chóng trở thành công ty phần mềm uy tín , đáp ứng được mọi yêu cầu của khách hàng Mục tiêu của Tư Duy Mới là trở thành Công ty phần mềm lớn mạnh hàng đầu
ở Việt Nam
1.2 M t s thông tin chi ti t v công ty TNHH MTV T DUY M I ột số thông tin chi tiết về công ty TNHH MTV TƯ DUY MỚI ố thông tin chi tiết về công ty TNHH MTV TƯ DUY MỚI ết về công ty TNHH MTV TƯ DUY MỚI ề công ty thực tập Ư DUY MỚI ỚI
Tên Công ty Công ty TNHH MTV Tư Duy Mới
Trụ Sở 481/12 Nguyễn Văn Quá, P Đông Hưng Thuận, Q.12, Tp.HCM
Dịch Vụ - Dịch vụ và giải pháp phần mềm- Nghiên cứu và phát triển các ứng dụng di động
Công nghệ
- Phần mềm nhúng và di động: VxWorks, RT-Linux, Windows Mobile, J2ME, iPhone, SMS…
- Phần mềm ứng dụng cho doanh nghiệp: dựa trên công nghệ Microsoft và mã nguồn mở
Trang 62 K ho ch th c t p ết về công ty TNHH MTV TƯ DUY MỚI ạch thực tập ực tập ập
Tuầ
n Nhiệm vụ chính Training - Toastmaster
1 - Viết requirement cho dự án - Đào tạo về quy trình phát
triển phần mềm (requirement, design và implement)
- Toasmaster tuần 1
2 - Viết design cho dự án - Đào tạo về quy trình phát
triển phần mềm (requirement, design và implement)
- Toasmaster tuần 2
3 - Viết test plan + test case - Đào tạo về testing
- Toasmaster tuần 3
4 - Tìm hiểu kiến thức cơ bản về lập
trình trên Android
- Toasmaster tuần 4
5 - Tìm hiểu sâu kiến thức Android
phục vụ cho việc thực hiện dự án - Toasmaster tuần 5
10 - Kiểm thử + viết báo cáo - Toasmaster tuần 10
11 - Báo cáo thực tập
12 - Tuần dự trữ
3 Đ án th c t p ồ án thực tập ực tập ập
3.1 Yêu c u ch c năng (Requirement) ầu chức năng (Requirement) ức năng (Requirement)
3.1.1 Gi i thi u v đ án ới thiệu về công ty thực tập ệu về công ty thực tập ề công ty thực tập ồ án thực tập
- Đồ án “Car Emulator” là một phần của hệ thống dẫn đường cho ô tô chạy trên nền Android, người dùng có thể xem được vị trí của ô tô trên bản đồ, có thể phóng to hay thu nhỏ đê xem chi tiết bản đồ, xoay bản đồ để thay đổi hướng nhìn và có thể trượt bản đồ để xem những phần khác nhau của bản đồ
- Đồ án này được thực hiện trên nền Android, sử dụng ngôn ngử Java và phần mềm mã nguồn mở Eclipse
3.1.2 Ch c năng chính ức năng (Requirement)
- Xoay bản đồ (rotate)
- Phóng to, thu nhỏ (zoom in, zoom out)
- Trượt bản đồ (scroll)
- Hiển thị (view)
- Chuyển động (animation)
Trang 7- Kết nối cơ sở dữ liệu (database conneting)
3.1.3 Mô hình use case
3.1.3.1 B ng use case ảng use case
System Features Main Use Case Use Case ID
<Feature name>
View M3B3_UC_View Animation M3B3_UC_Animation Rotate M3B3_UC_Rotate Zoom M3B3_UC_Zoom Scroll M3B3_UC_Scroll
3.1.3.2 Use case diagram
Trang 83.1.4 Yêu c u ch c năng ầu chức năng (Requirement) ức năng (Requirement)
3.1.4.1 B ng chi ti t yêu c u ảng use case ết yêu cầu ầu
FR1.0 View and Animation: trên màn hình điện thoại, chúng ta có một biểu
tượng (ôtô hay mũi tên) biểu thị cho ôtô của người dùng Ngoài ra chúng
ta còn có một số đường được hiển thị nổi lên để biểu diễn đường đi của ôtô Người dùng có thể nhìn vào bản đồ mà biết được đường đi của mình Khi ô tô của người dùng di chuyển thì biểu tượng trên mà hình cũng sẽ di chuyển theo đường đi được hiển thị trên bản đồ Bản đồ sẽ tự động di chuyển biểu tượng để đảm bảo biểu tượng ô to không vượt ra khỏi màn hình
FR1.1 Zoom: người dùng phóng to hay thu nhỏ bản đồ để biết được đường đi
một cách chính xác Có thể zoom bản đồ để nhìn bản đồ được bao quát hơn từ vị trí hiện tại Tỉ lệ zoom sẽ được cung cấp cho người dùng, người dùng chạm vào màn hình điện thoại và chọn tỉ lệ để zoom bản đồ Người dùng cũng có thể quay trở lại màn hình hiển thị để được tiếp tục hướng dẫn đường đi bất cứ khi nào
FR1.2 Rotate: Người dùng có thể xoay bản đồ quanh tâm điểm của màn hình
Hướng xoay có thể cùng chiều hoặc ngược chiều kim đông hồ
FR1.3 Scroll: Bởi vì bản đồ thì lớn chúng ta chỉ hiển thị được một phần bản đồ
nên chúng ta cần trượt bản đồ để xem được những phần khác nhau Có thể trượt mọi hướng để xem đường đi trên bản đồ
FR1.4 Database connection: Ứng dụng sẽ kết nối với database để lấy dữ kiệu bản
đồ
- Use case ‘View’_ M3B3_UC_View
Use Case ID M3B3_UC_View
Name View
Goal Cung cấp cho người dùng khung nhìn của toàn cảnh bản đồ cùng với ô tô
Bản đồ sẽ tự động xoay và zoom hình để chắc chắn rằng ô tô luôn ở giữa màn hình hiển thị với kích thướt mặc định + góc mặc định
Actors User
Include N/A
Extended N/A
Pre-conditions - Phải có tọa độ (kinh độ + vĩ độ) của ô tô và con đường để mô phỏng
bản đồ
- Phải có đường đi cho ô tô ngay tại thời điểm đó
- Phải có kích thướt mặc định, góc mặc định của khung nhìn
Trang 9Post-conditions N/A
Main Flow - Sử dụng tọa độ để di chuyển khung nhìn về vùng khung nhìn chuẩn Exceptions N/A
Open Issues N/A
- Use case ‘Animation’_ M3B3_UC_Animation
Use Case ID M3B3_UC_Animation
Name Animation
Goal Làm cho ô tô di chuyển theo con đường trên bản đồ
Actors User
Include N/A
Extended N/A
Pre-conditions - Dùng công cụ Eclipse để phát triển, môi trường ADV và SDK
- Phải có tọa độ của ô tô và tuyến đường trên bản đồ mô phỏng
- Phải có tuyến đường đi của ô tô
- Phải có tốc độ của ô tô
Post-conditions N/A
Main Flow - Làm cho ô tô di chuyển theo tuyến đường
Exceptions N/A
Open Issues N/A
- Use case ‘Rotate’_ M3B3_UC_Rotate
Use Case ID M3B3_UC_Rotate
Name Rotate
Goal Chương trình có tính năng cho phép người dùng tự xoay màn hình Actors User
Include N/A
Extended N/A
Pre-conditions - Góc xoay tùy người dùng chọn
- Phải có bản đồ Post-conditions N/A
Trang 10Main Flow - Xoay bản đồ để thay đổi khung nhìn
Exceptions N/A
Open Issues N/A
- Use case ‘Zoom’_ M3B3_UC_Zoom
Use Case ID M3B3_UC_Zoom
Name Zoom
Goal Phóng to hay thu nhỏ khung nhìn của bản đồ
Actors User
Include N/A
Extended N/A
Pre-conditions - Người sử dụng chọn mức độ zoom
- Phải có bản đồ Post-conditions N/A
Main Flow - Thay đổi kích cở khung nhìn
Exceptions N/A
Open Issues N/A
- Use case ‘Scroll’_ M3B3_UC_Scroll
Use Case ID M3B3_UC_Scroll
Name Scroll
Goal Trượt khung nhìn của bản đồ theo hướng: lên, xuống, trái, phải
Actors User
Include N/A
Extended N/A
Pre-conditions - Phải có bản đồ mô phỏng
Post-conditions N/A
Main Flow - Thay đổi vị trí của khung nhìn
Exceptions N/A
Open Issues N/A
Trang 113.2 Thi t k ết về công ty TNHH MTV TƯ DUY MỚI ết về công ty TNHH MTV TƯ DUY MỚI
3.2.1 S đ l p ơ đồ lớp ồ án thực tập ới thiệu về công ty thực tập
Trang 123.2.2 S đ tu n t ơ đồ lớp ồ án thực tập ầu chức năng (Requirement) ực tập
Trang 133.2.3 Database
- Database sử dụng cơ sở dữ liệu SQLlite phù hợp với bộ nhớ nhỏ của điện thoại
di động
Trang 143.3 S n ph m và h ản phẩm và hướng dẫn sử dụng ẩm và hướng dẫn sử dụng ưới thiệu về công ty thực tập ng d n s d ng ẫn sử dụng ử dụng ục lục
- Bắt đầu chương trình
Trang 15- Phóng to, thu nhỏ
Trang 16- Giao diện chính
Thay đổi tốc độ: Chúng ta có thể thay đổi tốc độ của ôtô bằng cách bấm vào Menu->SpeedChange Tốc độ giới hạn từ 10km/h đến 300k/h
Trang 17- Thay đổi đường đi
Mặc định trong chương trình sẽ có 2 tuyến đường đi, khi ta chọn chức năng này thì 2 tuyến đường sẽ chuyển đổi qua lại
Trang 18- Ngoài ra chương trình còn hỗ trợ cho người dùng những chức năng khác như:
Reset default view: chức năng này cho phép người dùng quay trở lại màn hình mặc định
Restart: chức năng này cho phép người dùng chạy lại chương trình từ đầu
Pause Animation/ Resum Animation: chức năng này cho phép cho người dùng dừng quá trình chuyển động của ô tô cũng như tiếp tục (nếu đang dừng)
4 K t qu đ t đ ết về công ty TNHH MTV TƯ DUY MỚI ản phẩm và hướng dẫn sử dụng ạch thực tập ược c
4.1 Ki n th c chuyên môn ết về công ty TNHH MTV TƯ DUY MỚI ức năng (Requirement)
- Kỹ thuật lập trình cơ bản Android trên ngôn ngữ Java
- Kỹ thuật tạo và truy xuất cơ sở dữ liệu SQlite trên điện thoại di động
- Cách thức sử dụng đồ họa trên Android để tạo ứng dụng(đặc biệt là kỹ thuật animation)
4.2 Kỹ năng th c hành ực tập
- Kỹ năng làm việc nhóm với công cụ subversion trong môi trường thực tế
- Kỹ năng viết code theo chuẩn – coding standard
- Kỹ năng viết báo cáo tiến độ hằng tuần
4.3 M t s kinh nghi m ột số thông tin chi tiết về công ty TNHH MTV TƯ DUY MỚI ố thông tin chi tiết về công ty TNHH MTV TƯ DUY MỚI ệu về công ty thực tập
- Cách thức lưu dữ liệu địa lý dưới định dạng shapfile (longbinary)
- Đọc kiểu dữ liệu này với SQlite
- Chuyển đổi hệ tọa độ địa lý thực tế (kinh độ vĩ độ) sang tọa độ màn hình điện thoại
- Cách xây dựng và chạy ứng dụng trên điện thoại Android thật
4.4 Kỹ năng m m ề công ty thực tập
- Kỹ năng làm việc nhóm
- Kỹ năng quản lý thời gian
- Kỹ năng thuyết trình, báo cáo
- Kỹ năng viết email bằng tiếng anh
- Kỹ năng giao tiếp bằng tiếng anh (thông qua các buổi toastmaster hằng tuần của công ty)
Trang 195 K T LU N ẾT LUẬN ẬN
- Chương trình thực tập của công ty Tư Duy Mới đã đáp ứng được yêu cầu của nội dung môn học “Thực Tập Cuối Khóa” Qua 12 tuần tham gia thực tập tại Công ty
Tư Duy Mới, em đã tích lũy được các kiến thức quan trọng khi làm việc trong môi trường thực tế tại công ty
- Bên cạnh các kiến thức học được, em còn nhận được các nhận xét, đánh giá của các anh chị, cấp trên tại công ty, giúp em có cái nhìn rõ hơn về bản thân để tự trau dồi, phát triển bản thân sau này