Table of Contents 2
A. Introductions 12
I.The initial idea 13
1. Definition of KA Plus: 13
Karaoke player that run on PC will use a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVD, Audio CD, VCD, and various streaming protocols. 15
Our team develop application run on phone which using Android Operating System. Because The Android OS can be used as an operating system for cell phones, notebooks and tablets, TV and other devices so it will easy to develop for many devices. Firstly, we will develop our application for one device, it is Android mobile phone. 15
A hardware and software solution for karaoke box: easy to implement, low cost and effective. Karaoke box can cut cost and attract more customers. Of course, our application is the important part that will make this possible. 15
2. Why need our application 15
Nowadays, mobile phone is become popular, and people can use it in many subjects with a lot of ways. In Vietnam, although Android mobile are not cheap and it still not popular, but people own them had a significant number. Android market is also developing very fast and it a potential market to make business by develop application for it. 15
Almost karaoke box in Vietnam still using employee to serve customer when they choose song for singing , request for changing , stop or continue playing song . . . 15
KA Plus bring new experience, interesting, the feeling of useful for users when they using your mobile phone. 15
Karaoke Box can cut cost for business, because they need fewer employees than before, and equipment for running karaoke service will effective and lower cost 15
3. Limitation of our application 16
4. Business model 16
Profits from the contract to install and maintain software for each karaoke box 16
Percentage revenue share 16
II. Existing system 16
1. Overview existing application 16
After researching, we find some kind of karaoke application. They have two kinds, one use for PC and one another use for mobile phone. There are some examples of them: 16
Application run on PC: 16
1. Vina Karaoke Jukebox: This has two parts. The first is as a client run on a touch screen with 15 inch at minimum and places within room. User can search and add song into playlist to song. Of course, current list can be edited by user: add, edit, and remove. So user can do some media command as stop, play, next, back, adjusts volume and equalize. 16
17
Picture 1.1 the application run on touch-screen 17
In direction room or home, Karaoke box and user use the same application but it is used by normal application run on PC: 17
18
Picture 1.2 The application run on PC 18
Reference: http://www.vinakaraoke.com/ 18
2. VLC Player 18
18
Picture 1.3 The simple application run on PC 18
Simple, Powerful and Fast 18
Play everything, Files, Discs (DVD, CD, and VCD), Devices and Sreeams 18
Plays most codecs with no codec packs needed 18
Completely Free, no spyware, ads or User Tracking 18
Best mpeg2, x264, DivX player 19
Works on most platforms: Windows, Linux, Mac, UNIX. 19
Media Converter and Streamer 19
Some application run in mobile phone: 19
1. Mini Karaoke : 19
This is the first Karaoke player in the mobile world. With her you can sing Karaoke songs in your android phone, with the only requirement that you have the mp3 files. 19
Picture 1.4 Android application: Mini Karaoke 20
2. Karaoke Vietnam 21
This is a simple searching tool on mobile. 21
21
2. Limitation of existing system 21
With application run on PC in karaoke box or home: 21
Owner must hire employee to control each karaoke room because all most customer can do it by themselves. 21
With application run on touch screen for customer, the quality of devices are not good, and customer still must go to control area (Karaoke box fixed the screen’s location). 21
With home karaoke application (using PC as karaoke player), user must control karaoke without remote. 21
With application run on mobile phone: 22
None application can have two main functions: remote and search playlist. 22
None complete Vietnamese application can remote karaoke on mobile phone. 22
Search function still simple and not optimized for choose song when sing karaoke. 22
None complete solution for karaoke box serve customer most effective and lowest cost. 22
III. Project team 22
1. Basic norms 22
Having a clear purpose: Team have an outlined plan and an indicated strategic. Our project must get good results. We expect that this project get 8.5 marks or more to demonstrate our team work spirit and our knowledge. 22
Understanding of roles and structure: The roles of team members are assigned base on the personal skill and the knowledge of everyone. All of team members are clear about the work in each role and about what is expected of them as well as clear about the roles of others on the team. 22
Output products: It’s very important. It demonstrates the attitude of team about the project. The quality of output is high and submits output on time. 22
22
Using diversity effectively: Each member of team have the different abilities and knowledge in some subjects. Team diversity is used to the team’s benefit. The experienced members train others to understand widely knowledge such as business, technical or personal skills… 22
Marking Self-assessment: Periodically, the team stops to examine how well it is functioning and what may be interfering with its effectiveness. The team will sometimes call on supervisors to honestly assess team processes and effectiveness. 22
Solving problem and Making decisions: Differences in opinion are discussed openly and decisions are usually arrived at through consensus. If it has many decision-makings to solve a problem, team will create vote to decide solution for that problem. 23
2. Advantage of team 23
All of us are close friends. We have learned together about 4 years. We know each other very well so we will work together well. 23
All members know java programming language 23
Some of us are very good at java-programming technique and have experienced with programming in mobile phone. 23
All members are hard working and most of us are finished all required subject so we have more time to do. 23
All of us like a project related to mobile phone especially Android OS. 23
3. Disadvantage of team 23
This is the first project we work in mobile phone environment. Some of us have not experience or have never program in this environment so it takes us many times to over training. 23
This project is a quite big with the student like us. Although we have learned about managing skill and work allocation, we still have some trouble in allocating and managing work for all members in a big real project like that. 23
Another small disadvantage is the geographical distance between us. Most of us are quite far each other so maybe sometime we make the meeting more difficult than other team that near each other. 23
4. Time line 23
Study and defile problem : 1 week 24
Collect requirement : 2 weeks 24
Design : 2 weeks 24
Coding : 4 weeks 24
Testing : 2 weeks 24
Summary and finish : 2 weeks 24
IV. Developing and final project package 24
1. Developing 24
Process: Flow one software project development correctly with all phrases. 24
Environment developing 24
Windows 7 Operating System 24
Java(TM) 6 Update 24 24
Java(TM) SE Development Kit 4 Update 24 24
Android SDK Tools 0.7 (Google Inc.) 24
Wi-Fi network 24
Eclipse reporting Helios SR2 24
Samsung android mobile phone 24
Visual Studio 24
Other supported software and service 24
Google code 24
Microsoft Project Professional 2010 24
Microsoft Office 2010 24
Adobe Photoshop CS 5 extended update 12 24
Email and Skype 5.3 24
Tortoise SVN 1.6.15.21042 25
2. Final project package 25
SERVER : Application can make play-list and control play-list 25
PC : VLC player 25
Mobile phone : An application with functions listed above 25
V. Acronyms 25
1. Acronyms 25
2. Reference 25
B. Software Project Management Plan 26
I. Problem Definition 26
1. Name of this Capstone Project: 26
2. Problem Abstract 26
3. Project overview 26
There are two system of karaoke now. 26
One is an audio processing software is installed on a device such as computer or digital home video. 26
The other is an application on smart phone. They can directly open karaoke songs available on memory of mobile device or download via 3G. However, it has many limitations compared the first type. 26
User can search the songs they want 26
See top selected songs in this karaoke bar 26
Add the new songs just selected to the bottom of current playlist 27
The current playlist can modify such as swapping the positions, delete, update... 27
Users can play the selected playlist. 27
Can use media button such as: pause, stop, next, volume.... to remote to the computer 27
The system can run on many firmware version of android mobile 27
The system under development of this Capstone Project will include: 27
A complete application run on android mobile can connect to pc client via wifi. 27
Software run on server can manage many functions 27
All the process documents involved 27
At least one android smart phone with wifi and firmware version from 2.1 or later 27
An server system to store karaoke songs with the minimum configuration: 27
1000 GB of hard disk, 1GB Ram, core 2 Dou 2.0 GHz. 27
At least one client computer to run application processing audio video with the minimum configuration: 40 GB of hard disk, 2 GB Ram, core 2 Dou 2.0 GHz. 28
A modem wifi. 28
Operating system: Windows XP / Windows 7 28
Framework: .NET Framework 4.0 28
IDE: Visual Studio 2010 28
DBMS: SQL Server 2008 R2 28
Source Control: Google code 28
Tool: 28
Email fpt and Skype 5.3 28
Microsoft Office 2010 28
Microsoft Project Professional 2010 28
Tortoise SVN 1.6.15.21042 28
II. Project Organization 28
1. Software Process Model 28
2. Role and Responsibilities 29
3. Tool and Techniques 30
Work well with Eclipse IDE for supporting programming. 30
Use goggle code tool efficiency. 30
Java language 30
Other techniques: Create, review document techniques, etc. 30
Presentation skill 30
Relationship skill 30
Other skills: Management skill, persuasion skill, etc. 30
III. Project Management Plan 31
1. Task 31
2. Task sheet: Assignments and Timetable 33
3. Meeting minutes 33
IV. Coding convention 35
1. Purpose 35
2. Java language 35
3. C# language 46
V. Other Material 48
C. Software Requirement Specifications 48
I. Document overview 48
1. Purpose 48
2. Scope 49
II. Software Requirements Specification 49
1. User Requirements 49
2. Admin Requirements 50
3. Remote requirements 50
4. Searching Requirements 51
5. Playlist Requirements 51
III. System Requirement Specification (Specific Requirements) 51
1. External Interfaces Requirement 51
1.1. User Interfaces 51
1.2. Admin User Interfaces 52
1.3. Hardware Interfaces 52
1.4. Software Interfaces (Runtime environment) 53
1.5. Communication protocol 54
2. System Features 54
2.1. Download and setup application 54
2.2. Connection 56
2.3. Play a list song available 59
2.4. List playing songs 60
1.0 61
62
2.5. Remote VLC (Video LAN Media Player) 62
2.6 Search songs 63
2.7. Add a song to Favourite 65
2.8. Add a song to Playing list 67
2.9. Remove a song from Playing list 68
2.10. Remove a song to Favourites 70
2.11. (Admin) Collect karaoke song’s information 72
2.12. (Admin) Edit karaoke song’s information 74
2.13. (Admin) Create All-Playlist 76
2.14. (Admin) Create Suggested-playlist 78
2.15. (Admin) Schedule creating playlists 80
IV - Software System Attributes 83
1. Reliability 83
2. Availability 83
3. Security 84
4. Maintainability 84
5. Portability 84
6. Performance 84
V. Reference 85
D. Software design description 85
I. Design Overview 85
II. System Architectural Design 86
1. Choice of System Architecture 86
2. System Interface 88
2.1 PC-Server Interface 89
2.2 PCs-Client Interface 89
2.3Mobile Interface 89
III. Component 89
1. KAP-SS 89
2. KAPlus 89
3. KAP-Client 89
IV. KAP Detailed Design 89
1. Mobile 89
1.1 Connection 90
1.1.1 Class Diagram 90
1.1.2 Class Explanations 90
1.1.3 Sequence Diagram 91
1.2 Play Control 91
1.2.1 Class Diagram 91
92
1.2.2 Class Explanations 92
1.2.3 Sequence Diagram 92
1.3 Pause Control 93
1.3.1 Class Diagram 93
94
1.3.2 Class Explanations 94
1.3.3 Sequence Diagram 94
1.4 Next Control 96
1.4.1 Class Diagram 96
96
1.4.2 Class Explanations 96
1.4.3 Sequence Diagram 97
1.5 Previous Control 98
1.5.1 Class Diagram 98
1.5.2 Class Explanations 98
Class diagram has responsibility about previous song in list song, which played. 98
99
1.5.3 Sequence Diagram 99
1.6 Full screen Control 100
1.6.1 Class Diagram 100
100
1.6.2 Class Explanations 100
Class diagram has responsibility about function full screen of VCL player. 100
1.6.3 Sequence Diagram 101
1.7 Search song 102
1.7.1Class Diagram 102
102
1.7.2 Class Explanations 103
Class diagram has responsibility about search song. 103
1.7.3 Sequence Diagram 103
1.8 Add song to play list 104
1.8.1 Class Diagram 104
105
1.8.2 Class Explanations 105
1.8.3 Sequence Diagram 106
1.9 Play a song 107
1.9.1 Class Diagram 107
108
1.9.2 Class Explanations 108
1.9.3 Sequence Diagram 109
1.10 Add song to Favorites 110
1.10.1 Class Diagram 110
111
1.10.2 Class Explanations 111
1.10.3 Sequence Diagram 112
1.11 Playing List Song 113
1.11.1 Class Diagram 113
114
1.11.2 Class Explanations 114
Class diagram has responsibility about manipulate songs in Playlist: play, remove a song or all. 114
1.11.3 Sequence Diagram 114
Play a song in list 114
115
Remove a song 115
115
Remove all songs 116
116
1.12 Suggest Playlist 116
1.12.1 Class Diagram 116
117
1.12.2 Class Explanations 117
1.12.3 Sequence Diagram 117
1.13 Update Playlist 118
1.13.1 Class Diagram 118
119
1.13.2 Class Explanations 119
1.13.3 Sequence Diagram 120
2. KAP-Client 120
2.1Class Diagram 120
121
2.2 Class Explanations 121
2.3 Sequence Diagram 122
V. KAP-SS Detailed Design 122
1. Overview 122
2. Add song 124
3. Add multi songs 127
3.1 Class Diagram 128
3.2 Class Explanation 129
3.3 Sequence Diagram 130
4. Create All Playlist 130
4.1 Class Diagram 131
4.2 Class Explanation 132
5. Create Suggest Playlists 133
6. Make Auto Create Playlists 137
7. Program Auto StartUp 140
8. Count Played-Time 144
9. Set type of Suggest-Playlists 146
10. Edit Data 149
11. Display Data 152
VI. Database Design 154
1. KAPlus database 154
1.1 Database Overview 154
1.2 Database Detailed Design 155
2. KAP-SS database 155
2.1 Database Overview 155
2.2 Database Detailed Design 155
VII. User Interface Design 156
1 KAPlus 156
1.1 Start up Screen 156
1.2 Control Screen 157
1.3 Suggest Playlist Screen 157
1.4 Current Playlist Screen 158
1.5 Search Screen 158
1.6 Favorite Screen 159
1.7 Singer Evaluate Screen 160
2. KAP-SS 160
2.1 Main Screen 160
2.2 Add Song Screen 161
2.3 Add Multi Songs Screen 162
2.4 Schedule Screen 162
3. KAP-Client 163
3.1 Startup Screen 163
3.2 Running Screen 163
3.3 Point Screen 164
E. Software Test Documentation (STD) 165
I. Introduction 165
1. System Overview 165
User can search the songs they want 165
See top selected songs in this karaoke bar 165
Add the new songs just selected to the bottom of current playlist 165
The current playlist can modify such as swapping the positions, delete, update... 165
Users can play the selected playlist. 165
Can use media button such as: pause ,stop ,next, volume.... to remote to the computer 165
The system can run on many firmware version of android mobile 166
A complete application run on android mobile can connect to pc client via wifi. 166
A software run on server can manage many functions 166
All the process documents involved 166
II. Test Plan 166
1. Features to be tested: 166
Test server KAP-SS 166
Test GUI and Function: “Thêm từng bài” 166
Test GUI and Function: “Thêm nhiều bài hát” 166
Test GUI and Function: “Tạo danh sách tất cả các bài” 166
Test GUI and Function: “Tạo danh sách tham khảo” 166
Test GUI and Function: “Chọn nơi lưu trữ bài hát” 166
Test GUI and Function of main screen 166
Test on Emulator Android Mobile 166
Test GUI and Function of main screen 166
Follow each button on main screen and test GUI & Function 166
Test on Android Mobile: LG-P500 166
Test GUI and Function of main screen 166
Follow each button on main screen and test GUI & Function 166
2. Features not to be tested: N/A 166
III. Test Cases 168
1. KAP-SS GUI 168
2. KAP-SS Functions 169
3. “Thêm từng bài” GUI 173
4. “Thêm từng bài” Function 174
5. “Thêm nhiều bài hát” GUI 184
6. “Thêm nhiều bài hát” Function 185
7. “Các loại danh sách gợi ý” GUI 193
8. “Các loại danh sách gợi ý” Function 194
9. “Tạo danh sách tất cả các bài”_Function 196
10. KAPlus GUI (Emulator) 197
11. KAPlus Function (Emulator) 198
712. KAPlus GUI (Real mobile) 212
IV. Detail Plan 226
V. Check list 226
1. Checklists of code 226
2. Case and Requirement Mapping Review Checklist 226
F. Software User Manual 228
I. Installation Guide 228
1. Setup Server Environment 228
2. KAP-SS (Server Application) 229
2.1. Installing KAP-SS 229
2.2. Setting KAP-SS 231
3.KAPlus ( Mobile Application) 232
3.1 Installing KAPlus 232
4. PC Client 233
4.1 Install VLC media player 233
4.2.Install KAP-Client 234
II.User’s Guide 234
1. KAPlus-Server Service (KAP-SS) 234
1.1. Overview 234
1.2 Add song 235
1.3 Add multi songs 237
1.4 Enabe Auto Start Up 239
1.5 Enable Played-Time Fuction 239
1.6 Edit Database 240
1.7 Change Config 240
1.8 Create All Playlist 242
1.9 Create Suggest Playlists 243
1.10 Auto Create Playlists 243
1.11 Exit application 244
2. KAPlus (Mobile Application) 245
2.1 Overview 245
2.2 Conecting 246
2.3 Update mobile song database 247
2.4 Search songs and add to playlist 247
2.5 Control Playing 248
2.6 Control Current Playlist 249
2.7 Using Favorite Playlist 250
2.8 Using Suggest Playlist 252
2.9 Using Singer Evaluate 252
2.10 Control Screen (not recommended) 252
3. KAP-Client 253
3.1 Overview 253
3.2 Find All-Playlist file 253
3.3 Running KAP-Client 253
3.4 Other 254