LỜI CM ƠN
Đầu tiên cho em gửi lời biết ơn sâu sắc đến thầy giáo đã định hướng, cung
cấp tài liệu và tận tình giúp đỡ, động viên em trong quá trình thực hiện đề tài.
Thầy đã dành nhiều thời gian và tâm huyết theo sát, chỉ bảo em những mặt được
và chưa được để em có thể hoàn thành đề tài một cách tốt nhất.
Em xin chân thành cảm ơn các thầy cô trong bộ môn Công Nghệ Phần Mềm
cũng như tất cả các thầy cô trong nhà trường đã giảng dạy và giúp đỡ em trong
thời gian em theo học. Chính các thầy cô đã xây dựng cho chúng em những kiến
thức chuyên môn để em có thể hoàn thành đồ án cũng như cho công việc sau này
Thái Nguyên, tháng 06 năm 2015
Sinh viên thực hiện
LỜI CAM ĐOAN
Em xin cam đoàn toàn bộ nội dung của đồ án không hề được sao chép từ
bất cứ đồ án nào mà do chính bản thân em nghiên cứu xây dựng nên. Nếu phát
hiện ra nội dùng là sao chép em xin hoàn toàn chịu trách nhiệm trước bộ môn
cũng như nhà trường.
Sinh viên thực hiện
Nguyễn Ngọc Sáng
MỤC LỤC
...................................................................................................................................1
MỤC LỤC................................................................................................................3
...................................................................................................................................4
CƠ SỞ LÝ THUYẾT..............................................................................................2
.................................................................................................................................11
.................................................................................................................................59
.................................................................................................................................64
.................................................................................................................................65
ẢNH
LỜI MỞ ĐẦU
Cách đây nhiều năm, khi mà smartphone hay các thiết bị di động cầm tay
chưa thực sự phát triển và phổ biến đối với người tiêu dùng hiện tại thì chúng ta
cũng đã biết tới một số hệ điều hành dành cho các máy PDA như Windows
Mobile của Microsoft hay các điện thoại thông minh chạy BlackberryOS của
RIM… Tuy nhiên, vào năm 2007 – thời điểm Apple giới thiệu điện thoại thông
minh iPhone và hệ điều hành mà hiện nay được biết với tên gọi IOS đã thực sự
thay đổi thị trường di động thế giới, định nghĩa lại smartphone cũng như châm
ngòi cho cuộc chiến giữa các nền tảng di động, thúc đẩy nền công nghiệp phần
cứng cũng như phần mềm. Có thể nói rằng cuộc chiến giữa các hệ điều hành
đang xoay quanh những cái tên: Android (Google), IOS (Apple), Windows
Phone (Microsoft), BlackberryOs (RIM) và Symbia (Nokia).
Microsoft luôn được biết là gã khổng lồ phần mềm của thế giới, luôn là kẻ
đi đầu nhưng hiện tại Google và Apple chiếm hầu hết thị trường kèm theo đó là
lợi nhuận khổng lồ từ lượng khách hành kỷ lục (riêng QIII-2012 có 181 triệu
smartphone bán ra).
Sau khi thấy sự thua kém quá lớn của Windows Mobile 6.x với các đối thủ,
Microsoft quyết tâm lấy lại thị trường thông qua việc cho ra một nền tảng di
động hoàn toàn mới: Windows Phone 7 với những ưu ddierm rất dễ thấy đó là
khả năng đồng bộ với máy tính cao, giao diện Metro độc đáo và khác biệt, hỗ trợ
công việc với các tiện ích văn phòng mạnh mẽ và dễ tiếp cận sử dụng. Hãy xem
Microsoft đã mang lại những đặc biệt gì khi không chỉ hấp dẫn người sử dụng và
lập trình viên
1
CƠ SỞ LÝ THUYẾT
1.1. Lịch sử phát triển
Windows Phone được Microsoft phát triển để thay thế cho hệ điều hành di
động Windows Mobile trước đây. Windows Phone bắt đầu từ phiên bản thứ 7
(khi ra mắt, Microsoft gọi nó là Windows Phone 7, còn hiện giờ nó đã có phiên
bản lên đến 10). Được biết, do phát triển trong thời gian ngắn nên Windows
Phone rất hạn chế trong việc tương thích ngược với các nền tảng Windows
Mobile trước đó. Một lý do nữa để Microsoft không quan tâm nhiều đến nền tảng
cũ đó là vì màn hình cảm ứng bằng ngón tay ngày càng phổ biến hơn trên điện
thoại và Windows Mobile vốn thiết kế cho bút stylus đã trở nên rất lỗi thời.
Windows bắt đầu được ra mắt chính thức vào tháng 2/2010 ở triển lãm
Mobile World Congress diễn ra ở Barcelona, Tây Ban Nha. Đến tháng 10 cùng
năm, CEO Steve Ballmer của Microsoft ra mắt 10 thiết bị Windows Phone đầu
tiên đến từ HTC, Dell, Samsung, LG. Vài tuần sau, máy bắt đầu được bán ra ở
Mỹ và Châu Âu. Tháng 5 cùng năm, Microsoft tuyên bố hợp tác với một số nhà
sản xuất khác là Acer, Fujitsu và ZTE. Một cột mốc quan trọng của Windows
Phone đó là sự hợp tác giữa Microsoft với Nokia sau khi hãng điện thoại Phần
Lan này quyết định không còn tập trung vào điện thoại Symbian nữa. Kết quả
của sự hợp tác này đó là dòng Nokia Lumia ra đời ở sự kiện Nokia World 2011.
Đến CES 2012, Nokia tiếp tục ra mắt hai máy Lumia mới nữa (mình sẽ đề cập ở
phần sau). Việc tích hợp các dịch vụ của Microsoft (Bing, Bing Maps, Windows
Phone Marketplace,…) lên thiết bị Nokia được cho là sẽ tạo nên lợi thế cạnh
tranh cho WIndows Phone với hai đối thủ lớn hiện thời là iOS và Android. Lịch
sử các phiên bản phát triển của Windows Phone:
 7.0.7004: phiên bản đầu tiên của Windows Phone 7
 7.0.7008: nâng cấp và cải thiện một vài điểm
2
 7.0.7390: bản cập nhật với tên mã NoDo, hỗ trợ mạng CDMA, copy và
paste, tốc độ chạy ứng dụng nhanh hơn, tích hợp Facebook sâu hơn
 7.0.7392: sửa các lỗi liên quan đến chứng nhận bảo mật
 7.0.7403: bản tiền nâng cấp để chuẩn bị bước sang một đợt nâng cấp lên
 7.10.7720: đây là Windows Phone 7.5 với tên mã Mango, được giới thiệu
2/2011. Các tính năng mới được thêm vào như Internet Explorer 9 hỗ trợ
đồ họa và chuẩn web tốt hơn, Twitter tích hợp vào People Hub, chạy đa
nhiệm cho các ứng dụng bên thứ ba bằng cách tạm ngừng chúng
 7.10.7740: sửa lỗi Microsoft Exchange Server 2003 và cảnh báo hộp thư
thoại
 7.10.8107: hỗ trợ kết nối LTE, sửa lỗi bàn phím bị biến mất và nhiều vấn
đề khác
 7.10.8112: bản cho Lumia 900 và HTC Titan II của nhà mạng AT&T
 7.10.8773: còn gọi là Windows Phone 7.5 Refresh với tên mã Tango.
Nhiều tính năng mới xứat hiện như MMS tốt hơn, biểu tượng cho việc dò
vị trí, xuất và quản lí danh bạ vô SIM, hỗ trợ điện thoại giá rẻ với 256MB
RAM và xung nhịp CPU chậm
 7.10.8779: sửa lổi, cải thiện và nâng cấp
1.2. Chi tiết về Windows Phone
1.2.1. Phần cứng
Chuẩn:
 3 phím vật lý phía trước máy: Start, Back, Search
 Màn hình cảm ứng điện dung đa điểm (nhận diện tối thiểu 4 điểm
chạm), hỗ trợ độ phân giải tối thiểu WVGA (800 x 480) widescreen.
 Hỗ trợ kết nối 3G/4G và Wi-fi
 256 MB (tối thiểu) - RAM và 8 GB bộ nhớ (hoặc nhiều hơn)
 A-GPS.
 Accelerometer (gia tốc kế).
Bổ sung:
3
 Compass (la bàn)
 Gyro (Con quay hồi chuyển)
 Camera trước, sau.
 Windows Phone 7 không hỗ trợ thẻ nhớ (microSD) tháo rời.
1.2.2. Phần mềm cơ bản
Giao diện tổng quát: Trên Windows Phone 7, giao diện mà bạn thấy được
Microsoft gọi là Metro UI (Modern UI). Đặc điểm cơ bản là các ô vuông vuông
(Tile) ở màn hình chính. Những thành phần đồ họa khác cũng không có nhiều
nét mềm mại, cong cong tròn tròn mà cũng mang dáng vuông hoặc chữ nhật. Một
số Tile có khả năng cập nhật dữ liệu theo thời gian thực thì gọi là Live Tile.
Start Screen – Hub : Trong Windows Phone, các tính năng được sắp xếp
theo từng Hub. Các Hub có thể xem như một nơi để máy tổng hợp thông tin
chứa trong máy và thông tin từ các dịch vụ trực tuyến để hiển thị trong một
giao diện thống nhất. Hub trong Windows Phone có thể hiện thị được thông
tin từ các dịch vụ như Facebook, Windows Live, Twitter.
Market Place: Đây là kho ứng dụng trực tuyến của Microsoft phát triển
dành riêng cho Windows Phone. Những lập trình viên sau khi viết xong
chương trình của mình, qua một loạt giai đoạn đăng kí, kiểm duyệt, ứng dụng
của họ sẽ đến với mọi người thông qua kênh phân phối Marketplace. Trên
Market có hai loại ứng dụng, đó là thu phí và miễn phí. Ở Việt Nam chúng ta hiện
đã có thể dùng Marketplace.
Tính năng đáng chú ý
Settings: Đây là nơi bạn sẽ truy cập vào toàn bộ các thiết lập của máy.
Ringtones + sounds: tinh chỉnh âm thanh, nhạc chuông báo tin nhắn, báo
có cuộc gọi, báo email,…
Theme: chỉnh giao diện chung của máy
Flight mode: chế độ máy bay, tức là khi bật chế độ này, toàn bộ các kết
nối không dây sẽ được ngắt đi để đảm bảo an toàn hàng không. Bạn cũng có thể
dùng nó để… từ chối các cuộc gọi hay tin nhắn những lúc bạn bận bịu mà
không muốn tắt hẳn smartphone của mình.
Wifi: bật tắt kết nối Wifi và tủy chỉnh liên quan đến mạng không dây này
4
Bluetooth: bật tắt Bluetooth. Bạn lưu ý rằng Bluetooth của Windows
Phone mặc định không cho phép chia sẻ tập tin, có lẽ Microsoft lo sợ vấn đề bản
quyền nội dung số, giống với những gì Google và Apple đã làm với thiết bị của
họ. Bạn chỉ có thể kết nối máy với các loa ngoài hay tai nghe Bluetooth mà thôi.
Bạn cũng không thể dùng tính năng Browse File trên máy tính để duyệt tập tin
trên điện thoại Windows Phone được. Có một số phương pháp để làm thiết bị trao
đổi file được nhưng đòi hỏi phải jailbreak.
Internet Sharing: biến chiếc điện thoại thành trạm phát sóng Wifi bằng
cách dùng mạng 3G để thiết lập kết nối Internet. Với tính năng này, bạn có thể dễ
dàng chia sẻ mạng cho máy tính xách tay mỗi khi đi đến vùng nào không có Wifi
bình thường hoặc lúc bạn đang di chuyển trên xe đường dài chẳng hạn.
Email + Account: thiết lập tài khoản email, mạng xã hội, danh bạ,…
Lock + Wallpaper: nơi đây bạn sẽ đổi được hình nền cho màn hình khóa,
đồng thời thiết lập thời gian tự động khóa màn hình cũng như mật khẩu mở khóa.
Mobile Network: thông số về mạng di động của chúng ta có thể được tùy
chỉnh ở đây. Khi chọn vào và kéo xuống bên dưới, bạn sẽ thấy nút "add apn". Có
thể dùng nó để thiết lập cấu hình 3G nếu máy không tự động tải về cho bạn.
Keyboard: tính đến thời điểm hiện tại, ta không thể tùy biến nhiều cho bàn
phím của Windows Phone, và nó cũng chưa hiện được tiếng Việt.
1.3. Hạn chế của Windows Phone
Phát triển sau iOS cũng như Android nên WP đã bị mất thị phần quá
nhiều vào 2 đối thủ trên, đồng thời các nhà phát triển chưa thật sự mặn mà với
Windows Phone 7 nên Windows Phone không có nhiều Application. Mặt khác
người dùng cũng đã quen với việc sử dụng iOS cũng như Android nên chưa
tiếp cận nhiều tới Windows Phone. Bản thân hệ điều hành này cũng chưa thật
sự hoàn thiện về nhiều mặt, còn thiếu nhiều tính năng quan trngj như mobile
hotspot, máy nhạy nhưng thời gian load ứng dụng lâu,... Hy vọng WP8 sẽ hoàn
thiện hơn nữa.
1.4. Nền tảng ứng dụng Windows Phone Application Platform
Microsoft không phát minh ra bất kỳ ngôn ngữ mới hoặc Framework mới
cho các ứng dụng nền tảng Windows Phone. Điều này có nghĩa rằng chúng ta sẽ
có thể lập trình bằng cách sử dụng C # (VB không được hỗ trợ tại thời điểm
hiện tại) với .NET Framework. Lập trình viên sẽ được hỗ trợ các thư viện quen
5
thuộc, bao gồm: hỗ trợ đa luồng, XML, LINQ, các sự kiện, dữ liệu, trường hợp
ngoại lệ, IO, mô hình dịch vụ, mạng, văn bản, vị trí, tài nguyên, runtime, bảo
mật.
Dựa trên lõi .NET Framework., ứng dụng nền tảng Windows Phone bao gồm
hai Framework: Silverlight và XNA.
Silverlight chủ yếu dùng cho các ứng dụng kinh doanh và 2D đơn
giản. Silverlight sử dụng các ứng dụng Extensible Markup Language (XAML)
là ngôn ngữ đánh dấu khai báo để tạo ra giao diện người dùng hấp dẫn. Các nhà
thiết kế sẽ có tính linh hoạt rất lớn trong việc tạo ra các giao diện người dùng
cho Windows Phone bằng cách sử dụng các công cụ quen thuộc như Adobe
Illustrator, Photoshop, và Microsoft Expression Blend để tạo ra vector dựa trên
giao diện người dùng có thể dễ dàng xuất khẩu để XAML.
XNA là chủ yếu được sử dụng để tạo ra các trò chơi, và Framework đi
kèm với một công cụ trò chơi cho phép bạn tạo ra các trò chơi dựa trên vòng lặp
và cũng cung cấp một công cụ 3D, cho phép bạn tạo ra các trò chơi 3D.
1.5. Vòng đời phát triển ứng dụng Windows Phone
Hiểu biết về vòng đời của ứng dụng sẽ giúp chúng ta hiểu về những gì bạn
sẽ cần phải chuẩn bị nhiều hơn nữa trong việc tìm hiểu về Windows Phone bao
gồm cả quá trình chứng nhận được bao phủ
6
Hình 1.1: Minh họa chu kỳ sống của một ứng dụng.
Là một nhà phát triển, ta sẽ bắt đầu tại App Hub đăng ký với Windows Live
ID của bạn (tạo ra nó nếu bạn chưa có tài khoản). Sau khi đăng ký tại App Hub,
bạn có thể đăng ký thiết bị vật lý của bạn để bạn có thể gỡ lỗi trong thiết bị
thực. Hãy nhớ rằng bạn có thể thêm lên đến ba thiết bị. Sử dụng Visual
Studio / hoặc Expression Blend, bạn sẽ tạo ra ứng dụng và gỡ lỗi của bạn bằng
cách sử dụng giả lập hoặc thiết bị mà bạn đã đăng ký. Một khi ứng dụng được
tạo ra, bạn cần phải gửi các ứng dụng để quá trình chứng nhận.
Để đảm bảo rằng ứng dụng của bạn sẽ vượt qua được quá trình cấp giấy
chứng nhận Marketplace, nó sẽ là một ý tưởng tốt để bạn có thể đọc và hiểu các
tài liệu chứng nhận ứng dụng được tìm thấy tại http://go.microsoft.com/?
linkid=9730558. Là một phần của quá trình chứng nhận, ứng dụng của bạn sẽ
đi qua một loạt các kiểm chứng thực tế chống lại các chính sách ứng dụng và
nội dung, bao bì, mã, tiết lộ tính năng điện thoại, ngôn ngữ, và hình ảnh theo
yêu cầu. Ứng dụng của bạn cũng sẽ được thử nghiệm trên độ tin cậy, hiệu suất,
quản lý tài nguyên, chức năng điện thoại sử dụng, và an ninh. Quá trình chứng
nhận là nơi để giúp thúc đẩy các ứng dụng chất lượng cho người tiêu dùng, để
bảo vệ người tiêu dùng malware, và bảo vệ các dịch vụ của Microsoft.
Sau khi ứng dụng vượt qua quá trình chứng nhận, nó sẽ được triển khai
trên Marketplace và cho phép người sử dụng tải về. Người tiêu dùng sẽ sử
dụng ứng dụng của bạn và cung cấp xếp hạng và bình luận, và các báo cáo có
thể được tạo ra bởi bạn từ App Hub để thay đổi vị trí hiển thị ứng dụng của bạn
trên Marketplace. Dựa trên những phản hồi bạn nhận được, bạn có thể chọn để
triển khai một phiên bản cập nhật sửa lỗi và các tính năng mới cho người dùng.
Mục tiêu cuối cùng của bạn là tạo ra một ứng dụng hấp dẫn mà bạn biết người
tiêu dùng sẽ sử dụng và được chấp nhận trên Marketplace. Market Place yêu cầu
99$/ năm và cung cấp cho bạn truy cập vào Windows Phone Marketplace và
Xbox 360 Marketplace. Trong Windows Phone Marketplace, bạn có thể gửi
một số lượng không giới hạn ứng dụng và bạn có thể gửi 5 ứng dụng miễn phí.
Đệ trình bổ sung sẽ có giá 19,99 USD. Trong Xbox 360 Marketplace, bạn có thể
gửi lên đến 10 trò chơi.
Bạn sẽ có thể thực hiện bất kỳ hoạt động nào của Markerplace thông qua
các báo cáo được cung cấp, như nhận xét, xếp hạng, và số lượng được bán ra, để
bạn có thể cải thiện hiệu quả bán hàng và những nỗ lực tiếp thị.
7
Khi ứng dụng của bạn được mua bởi người tiêu dùng, Microsoft lấy 30% và
bạn nhận được 70%.
1.6. Tổng quan Json
1.6.1. Json là gì?
JSON - Viết tắt của JavaScript Object Notation nó là một chuẩn để định
dạng dữ liệu, về mặt này, có thể so sánh JSON với XML YAML… Nhưng khi
JSON đi với JavaScript hoặc ActionScript thì nó có tính ưu việt hơn hẳn.Tại sao
JSON có liên quan đến JavaScript, ActionScript. Đơn giản là vì dữ liệu được
định dạng JSON chính là cách biểu diễn một đối tượng trong các Scripting
Language này. Khi sử dụng JSON với JavaScript hay ActionScript, không cần
phải có các bước phân tích phức tạp như đối với XML mà có thể truy vấn trực
tiếp giá trị theo tên (khóa) được định nghĩa trong JSON.JSON cũng như XML,
nó chỉ mô tả dữ liệu, không có khả năng trình bày, không có khả năng tự chạy,
nói chung là thụ động. Ta chỉ có thể nhận JSON rồi làm gì đó, hoặc ta có gì đó
rồi chuyển thành JSON để gửi đi, chứ ta không thể chạy JSON, Ví dụ:
{Nhom1: [{ hoten: "Nguyen Van A", tuoi: 21, nam: true, nhomMau: "O" },
{ hoten: "Tran Van B", tuoi: 22, nam: true, nhomMau: "A" },
{ hoten: "Le Thi C", tuoi: 23, nam: false, nhomMau: "AB" }],
Nhom2: [{ hoten: "Huynh Van D", tuoi: 24, nam: true, nhomMau: "B" },
{ hoten: "Ngo Thi E", tuoi: 22, nam: false, nhomMau: "A" },]}
Trên đây là một ví dụ, mô tả thông tin về hai nhóm, trong nhóm có những
thông tin thành viên như: họ tên, tuổi, giới tính, nhóm máu. Những thông tin trên
được diễn đạt bằng những kiểu dữ liệu cơ bản của Javascript: chuỗi, số, mảng,
đối tượng. Vậy JSON là một kiểu mô tả dữ liệu dựa trên cơ sở là Javascript. Tuy
nhiên Json có cú pháp và quy định riêng
1.6.2. Kiểu dữ liệu của Json
Json có 5 kiểu dữ liệu chính
• Number: kiểu số bao gồm số nguyên và số thực.
• String: kiểu chuỗi, nội dung bao bởi cặp dấu nháy kép “, những ký tự đặt
biệt được escape bởi dấu .Theo chuẩnJSON thì không sử dụng dấu nháy đơn
như Javascript để bọc chuỗi.
• Boolean: kiểu luận lý bao gồm 2 giá trị là true và false
8
• Array: kiểu mảng, gồm các phần tử phân cách nhau bởi dấu phẩy ‘,’ và
mảng được bao bởi cặp dấu [ và ].
• Object: kiểu đối tượng, gồm những cặp giá trị đi cùng nhau, mỗi cặp
phân cách bởi dấu phẩy’,’, đối tượng được bao bởi cặp dấu { và }, cặp giá trị bao
gồm tên và giá trị được phân cách bởi dấu hai chấm’:’.
• -Null: giá trị null.
1.6.3. Ưu điểm của Json
• Có thể đọc hiểu được (human-readability).
• Là kiểu dữ liệu trên nền cơ sở Javascript nên dễ dàng tiếp cận.
• Dữ liệu truyền tải ngắn gọn so với những định dạng dữ liệu khác như:
xml, html…
• Dễ dàng chuyển đổi(parse) dữ liệu từ dạng chuỗi (nhận từ server) sang
dữ liệu có thể sử dụng được (thành Object, Number, Array)…
• Dễ truy cập nội dung.
• Với những ứng dụng Ajax lấy và xử lý dữ liệu từ một web service nào
đó khác domain: Nếu nội dung trả về có dạng xml thì javascript từ trang web của
chúng ta không thể trực tiếp truy cập mà phải nhờ một proxy để đáp ứng yêu cầu
của same origin policy.Nhưng nếu là dạng JSON thì đó không là vấn đề.
(Thường dùng lệnh eval).
• Hai công nghệ phổ biến sử dụng JSON là PHP và .NET
1.6.4. So sánh xml và Json
XML tiên phong trong lĩnh vực chuẩn hóa, mô tả dữ liệu, có thể nói XML
là sự cách mạng trong việc định dạng và mô tả dữ liệu hiện nay, có khá nhiều
ứng dụng sử dụng XML để lưu trữ, ngay như HTML cũng có phần "na ná" như
XML hoặc sự ra đời XHTML là kết hợp của HTML viết theo cú pháp đúng
chuẩn XML. XML có nhiều ưu điểm vậy, liệu JSON có là đối thủ ? Tất nhiên sự
có mặt của JSON không hoàn toàn thay thế được với lão làng XML, nhưng trong
một phạm vi nhỏ, những ứng dụng về ajax.Ứng dụng ajax nhằm mục đích giúp
thời gian tương tác giữa người sử dụng với ứng dụng tiến gần đến thời gian thực
(chớp mắt là thấy), cho nên tốc độ được đặt lên hàng đầu, việc tăng tốc bằng
9
cách "giảm tải" cũng là một giải pháp, chính vì vậy JSON được ưu ái hơn vì cú
pháp ngắn gọn, đơn giản, tiết kiệm hơn XML, ví dụ trên nếu mô tả bằng XML.
<Object>
< Property>
<Key>Nhom1</Key>
<Array>
<Object>
<Property> <Key>hoten</Key> <String>Nguyen Van A</String>
</Property>
<Property>
<Key>tuoi</Key> <String>21</String>
</Property>
<Property>
<Key>nam</Key> <Number>true</ Number >
</Property>
<Property>
<Key>nhommau</Key> <Boolean>O</ Boolean >
</Property>
</Object>
</Array>
</ Property >
</Object>
Đây chỉ là mô tả về một đối tượng “Nguyễn Văn A” trong “Nhom1”, mã dữ
liệu dài dòng và khó đọc, đó cũng là khuyết điểm của XML.Một lợi điểm nữa
của JSON so với XML là có cách phân tích xử lý đơn giản, chỉ qua 1 bước
(chuyển chuỗi nhận được từ máy chủ sang dữ liệu có thể sử dụng được), còn
XML thì phải mất những 3 bước:Tạo một đối tượng xử lý XML, mỗi trình duyệt
có trình xử lý XML khác nhau, nên cần phải có kinh nghiệm.Chuyển chuỗi nhận
từ máy chủ thành cấu trúc những đối tượng thẻ của XML.Dựa trên cấu trúc XML
đã chuyển, lại chuyển tiếp thành dữ liệu có thể sử dụng được.
10
1.7.
Để trở thành 1 người quản lý nhân sự khôn khéo thì người làm công tác
nhân sự luôn luôn cần phải nắm rõ lý lịch, đặc điểm, quá trình công tác, khen
Qua đó, ta thấy rằng vấn đề quản lý nhân sự luôn luôn là một vấn đề cấp
thiết. Theo sự phát triển của công nghệ ngày nay, các thiết bị di dộng ra đời và
ngày càng phổ biến. Vì tính chất tiện lợi và gọn nhẹ do đó em chọn đề tài “Xây
dựng chương trình trên nền tảng WindowsPhone” để làm đề tài đồ án tốt
nghiệp. Chương trình quản lý nhân sự này được viết dùng với mục đích quản lý
nhân viên về các mặt: lý lịch, công tác,học tập…
chương trình được viết trên nền PC chưa thật sự tiện lợi nên em đã
chọn môi trường di động và sử dụng ngôn ngữ lập trình WindowsPhone 8 - là 1
ngôn ngữ mới và thịnh hành nhất hiện nay để viết phần mềm này nhằm sử dụng
cơ sở dữ liệu một cách hiệu quả hơn, tạo giao diện thân thiện với người sử dụng
và cũng nhằm mục đích rèn luyện kỹ năng lập trình, tập làm những chương trình
lớn, học hỏi thêm nhiều ở ngôn ngữ này
Chương trình cho phép người sử dụng quản trị hệ thống mạnh, tìm kiếm
thông tin nhanh, chính xác. Song bên cạnh đó vì thời gian có hạn, kỹ năng lập
1.8.
1.8.1. Hiện trạng và khó khăn khi phát triển hệ thống
.
Việc phát triển trên nền di động là một hướng mới.
Nguồn kinh phí đòi hỏi lớn.
1.8.2. Tóm tắt hoạt động của hệ thống
Là một phần mềm
11
Mọi người khi truy cập vào chương trình
Admin có thể cập nhập các thông tin và bảo trì hệ thống.
1.8.3. Đối tượng sử dụng
Có 2 đối tượng sử dụng cơ bản là người dùng và nhà quản trị:
.
Nhà quản trị (Admin): Nhà quản trị có toàn quyền sử dụng và cập nhật
thông tin, thống kê, báo cáo và đảm bảo tính an toàn cho chương trình.
1.8.4. Mục đích của đề tài
Cung cấp thông tin đầy đủ và chính xác về thông tin nhân viên.
1.9. Phân tích, thiết kế các chức năng của hệ thống
1.9.1. Các tác nhân chính
Hệ thống có hai tác nhân chính là nhân viên và quản trị viên
Tác nhân quản trị viên: người quản trị, người có toàn quyền. Thường thì
quản trị viên là người quản lý nhân lực của công ty, giám đốc, phó giám đốc.
Người này có thể thêm, sửa, xóa tất cả các thông tin cần thiết liên quan đến nhân
viên của công ty như: thêm nhân viên mới, xóa thông tin nhân viên không còn
làm việc tại công ty, in báo cáo về nhân sự, trình độ nhân viên,…
12
1.9.2. Biểu đồ Use case hệ thống
Hình 2.1:
1.9.3. use case
Hình 2.2
“Đăng nhập”:
13
-Tác nhân: User (người sử dụng), Admin
1. UC này bắt đầu khi người dùng muốn đăng nhập vào hệ thống:
2. Hệ thống đưa dấu nhắc tới nơi nhập UserName và password.
3. Người dùng nhập UserName và password .
4. Hệ thống xác nhận thông tin nhập vào là hợp lệ hay không.
5. Hệ thống thông báo đăng nhập thành công.
6. UC kết thúc.
n:
Hình 2.3
14
1.9.4.
Hình 2.4:
Hình 2.5
“Thêm :
- UC này giúp cho người dùng có thể thêm
- Tác nhân: User (người sử dụng),Admin
- UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống:
1.
15
2. Người dùng nhập các thông tin mà hệ thống yêu cầu.
3. Hệ thống xác nhận các thông tin mà người dùng đã thêm
4.
5. UC kết thúc.
16
Hình 2.6”
“Sửa :
UC này cho phép người dùng sửa thông tin đã ghi khi muốn thay đổi.
- Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi:
1.
2. Người dùng chọn thông tin muốn sửa
3.
4. Người dùng sửa theo ý muốn
5.
6.
7. UC kết thúc.
17
”:
Hình 2.7”
1.9.5.
Hình 2.8“Q”
:Thêm :
- UC này giúp cho người dùng có thể thêm
- Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống:
1.
2. Người dùng nhập các thông tin mà hệ thống yêu cầu.
3. Hệ thống xác nhận các thông tin mà người dùng đã nhập có chính
xác hay không.
18
4.
5. UC kết thúc.
”:
Hình 2.9”
“Sửa :
UC này cho phép người dùng sửa thông tin đã ghi khi muốn thay đổi.
- Tác nhân: User (người sử dụng),ADmin
- UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi:
1.
2. Người dùng chọn thông tin muốn sửa
3.
4. Người dùng sửa theo ý muốn
5.
6.
7. UC kết thúc.
”:
19
Hình 2.10
“Xóa :
- Tác nhân: User (người sử dụng),ADmin
- UC này bắt đầu khi người dùng muốn xóa thông tinkhông muốn để nữa.
1. Hệ thống hiển thị danh sách thông tin của người dùng.
2. Người dùng chọn thông tin muốn xóa
3. Hệ thống hỏi xem người dùng có thực sự muốn xóa
4. Hệ thống xóa thông tin người dùng chọn
5. UC kết thúc.
20
Hình 2.11
1.9.6.
Hình 2.12“Q”
“Thêm :
- Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống:
1.
2. Người dùng nhập các thông tin mà hệ thống yêu cầu.
3. Hệ thống xác nhận các thông tin mà người dùng đã thêm
4.
5. UC kết thúc.
hêm ”:
21
Hình 2.13hêm
“Sửa :
- UC này cho phép người dùng sửa thông tin khi muốn thay đổi.
- Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi:
1. Hệ thống hiển thị danh sách các thông tin
2. Người dùng chọn thông tin muốn sửa
3.
4. Người dùng sửa theo ý muốn
5. Hệ thống xác nhận thông tin người dùng nhập hay không
6.
7. UC kết thúc.
”:
22
Hình 2.14
“Xóa :
UC này bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa.
1. Hệ thống hiển thị danh sách thông tin của người dùng.
2. Người dùng chọn thông tin muốn xóa
3. Hệ thống hỏi xem người dùng có thực sự muốn xóa
4. Hệ thống xóa thông tin người dùng chọn
5. UC kết thúc.
23
Hình 2.15
1.9.7.
Hình 2.16 “Q”
“T ”:
- Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống:
1.
2. Người dùng nhập các thông tin mà hệ thống yêu cầu.
3. Hệ thống xác nhận các thông tin mà người dùng đã thêm
24
4.
5. UC kết thúc.
Hình 2.17
“S ”:
- UC này cho phép người dùng sửa thông tin mà họ khi muốn thay đổi.
- Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi:
1. Hệ thống hiển thị danh sách các thông tin
2. Người dùng chọn thông tin muốn sửa
3.
4. Người dùng sửa theo ý muốn
5. Hệ thống xác nhận thông tin người dùng nhập hay không
6.
25
7. UC kết thúc.
Hình 2.18
“X ”:
UC này bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa.
1. Hệ thống hiển thị danh sách thông tin của người dùng.
2. Người dùng chọn thông tin muốn xóa
3. Hệ thống hỏi xem người dùng có thực sự muốn xóa
4. Hệ thống xóa thông tin người dùng chọn
5. UC kết thúc.
26
Hình 2.19
1.9.8.
Hình 2.20“Q”
“T ”:
- Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống:
1.
2. Người dùng nhập các thông tin mà hệ thống yêu cầu.
27
3. Hệ thống xác nhận các thông tin mà người dùng đã thêm
4.
5. UC kết thúc.
Hình 2.21hêm
“S ”:
- UC này cho phép người dùng chỉnh sửa thông tin khi muốn thay đổi.
- Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi:
1. Hệ thống hiển thị danh sách các thông tin
2. Người dùng chọn thông tin muốn sửa
3.
4. Người dùng sửa theo ý muốn
5. Hệ thống xác nhận thông tin người dùng nhập hay không
6.
28
7. UC kết thúc.
Hình 2.22
“X ”:
UC này bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa.
1. Hệ thống hiển thị danh sách thông tin của người dùng.
2. Người dùng chọn thông tin muốn xóa
3. Hệ thống hỏi xem người dùng có thực sự muốn xóa
4. Hệ thống xóa thông tin người dùng chọn
5. UC kết thúc.
29
Hình 2.23
1.9.9.
Hình 2.24“Q”
“T ”:
- Tác nhân: User (người sử dụng),Admin
1. UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống:
2.
3. Người dùng nhập các thông tin mà hệ thống yêu cầu.
30
4. Hệ thống xác nhận các thông tin mà người dùng đã thêm
5.
6. UC kết thúc.
Hình 2.25hêm
“S ”:
- UC này cho phép người dùng chỉnh sửa thông tin khi muốn thay đổi.
- Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi:
1. Hệ thống hiển thị danh sách các thông tin
2. Người dùng chọn thông tin muốn sửa
3.
4. Người dùng sửa theo ý muốn
5. Hệ thống xác nhận thông tin người dùng nhập hay không
6.
7. UC kết thúc.
31
Hình 2.26
“X ”:
UC này bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa.
1. Hệ thống hiển thị danh sách thông tin của người dùng.
2. Người dùng chọn thông tin muốn xóa
3. Hệ thống hỏi xem người dùng có thực sự muốn xóa
4. Hệ thống xóa thông tin người dùng chọn
5. UC kết thúc.
32
Hình 2.27
1.9.10.
Hình 2.28“Q”
“T ”:
- Tác nhân: User (người sử dụng),Admin
1. UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống:
2.
3. Người dùng nhập các thông tin mà hệ thống yêu cầu.
4. Hệ thống xác nhận các thông tin mà người dùng đã thêm
33
5.
6. UC kết thúc.
Hình 2.29hêm
“S ”:
- UC này cho phép người dùng sửa thông tin khi muốn thay đổi.
- Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi:
1. Hệ thống hiển thị danh sách các thông tin
2. Người dùng chọn thông tin muốn sửa
3.
4. Người dùng sửa theo ý muốn
5. Hệ thống xác nhận thông tin người dùng nhập hay không
6.
7. UC kết thúc.
34
Hình 2.30
“X ”:
UC này bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa.
1. Hệ thống hiển thị danh sách thông tin của người dùng.
2. Người dùng chọn thông tin muốn xóa
3. Hệ thống hỏi xem người dùng có thực sự muốn xóa
4. Hệ thống xóa thông tin người dùng chọn
5. UC kết thúc.
35
Hình 2.31
1.9.11.
Hình 2.32“Q”
“T ”:
-Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống:
1.
2. Người dùng nhập các thông tin mà hệ thống yêu cầu.
3. Hệ thống xác nhận các thông tin mà người dùng đã thêm
36
4.
5. UC kết thúc.
Hình 2.33hêm
“S ”:
-UC này cho phép người dùng sửa thông tin đã ghi khi muốn thay đổi.
-Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi:
1. Hệ thống hiển thị danh sách các thông tin
2. Người dùng chọn thông tin muốn sửa
3.
4. Người dùng sửa theo ý muốn
5. Hệ thống xác nhận thông tin người dùng nhập hay không
6.
7. UC kết thúc.
37
Hình 2.34
“X ”:
UC này bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa.
1. Hệ thống hiển thị danh sách thông tin của người dùng.
2. Người dùng chọn thông tin muốn xóa
3. Hệ thống hỏi xem người dùng có thực sự muốn xóa
4. Hệ thống xóa thông tin người dùng chọn
5. UC kết thúc.
38
Hình 2.35
1.9.12.
Hình 2.36“Q”
“T ”:
-Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống:
1.
2. Người dùng nhập các thông tin mà hệ thống yêu cầu.
3. Hệ thống xác nhận các thông tin mà người dùng đã thêm
4.
5. UC kết thúc.
39
Hình 2.37hêm
“S ”:
-UC này cho phép người dùng sửa thông tin đã ghi khi muốn thay đổi.
-Tác nhân: User (người sử dụng),Admin
UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi:
1. Hệ thống hiển thị danh sách các thông tin
2. Người dùng chọn thông tin muốn sửa
3.
4. Người dùng sửa theo ý muốn
5. Hệ thống xác nhận thông tin người dùng nhập hay không
6.
7. UC kết thúc.
40
Hình 2.38
“X ”:
UC này bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa.
1. Hệ thống hiển thị danh sách thông tin của người dùng.
2. Người dùng chọn thông tin muốn xóa
3. Hệ thống hỏi xem người dùng có thực sự muốn xóa
4. Hệ thống xóa thông tin người dùng chọn
5. UC kết thúc.
41
Hình 2.39
1.9.13.
Hình 2.40“Q”
“Sửa :
-UC này cho phép người dùng sửa khi muốn thay đổi.
-Tác nhân: Admin
UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi:
1. Hệ thống hiển thị thông tin
2. Người dùng chọn thông tin muốn sửa
42
3.
4. Người dùng sửa theo ý muốn
5. Hệ thống xác nhận thông tin người dùng nhập hay không
6.
7. UC kết thúc.
”:
Hình 2.41”
“S ”:
-Tác nhân: Admin
UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi:
1.
2.
3.
4. Người dùng sửa theo ý muốn
43
5.
6.
7. UC kết thúc.
Hình 2.42”
“Sửa :
-Tác nhân: Admin
UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi:
1.
2.
3.
4. Người dùng sửa theo ý muốn
5.
6.
44
7. UC kết thúc.
”:
Hình 2.43”
1.9.14.
Hình 2.44“Q”
“Thêm :
-UC này giúp cho người dùng có thể thêm thông tin
-Tác nhân: Admin
1. UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống:
2.
45
3. Người dùng nhập các thông tin mà hệ thống yêu cầu.
4. Hệ thống xác nhận các thông tin mà người dùng đã thêm
5.
6. UC kết thúc.
”:
Hình 2.45”
“Sửa :
-UC này cho phép người dùng sửa thông tin đã ghi khi muốn thay đổi.
-Tác nhân: Admin
UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi:
1. Hệ thống hiển thị danh sách các thông tin
2. Người dùng chọn thông tin muốn sửa
3.
4. Người dùng sửa theo ý muốn
5. Hệ thống xác nhận thông tin người dùng nhập hay không
46
6.
7. UC kết thúc.
”:
Hình 2.46”
“Xóa :
UC này bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa.
1. Hệ thống hiển thị danh sách thông tin của người dùng.
2. Người dùng chọn thông tin muốn xóa
3. Hệ thống hỏi xem người dùng có thực sự muốn xóa
4. Hệ thống xóa thông tin người dùng chọn
5. UC kết thúc.
”:
47
Hình 2.47
48
1.10. Biểu đồ lớp
Hình 2.48: Biểu đồ lớp
1.11. Sơ đồ triển khai
Hình 2.49: Sơ đồ triển khai hệ thống
49
1.12. Sơ đồ quan hệ thực thể
Hình 2.50
Tên
Kiểu dữ
liệu
Chú thích Khóa
ID_ChuyenMon int *
TenChuyenMon nvarchar(255) Tên chuyên môn
ID_NhomCM int
ID_TrinhDoNhomCM Int
Bảng 1: Bảng DM_CHUYEN_MON
Tên Kiểu dữ liệu Chú thích Khóa
50
MaChucVu nvarchar(50) *
TenChucVu nvarchar(255)
MoTa nvarchar(255)
Bảng 2: Bảng DM_CHUC_VU
Tên Kiểu dữ liệu Chú thích Khóa
ID_BacLuong int *
BacLuong nvarchar(10)
Bảng 3: Bảng DM_BAC_LUONG
Tên Kiểu dữ liệu Chú thích Khóa
ID_NgachLuong int *
TenNgach nvarchar(255)
KiHieu nvarchar(50)
ID_BacLuong int
GhiChu ntext
Bảng 4: Bảng DM_NGACH_LUONG
Tên Kiểu dữ liệu Chú thích Khóa
ID Int ID *
MaDonVi Nvarchar(50)
TenDonVi Nvarchar(255)
DiaChi Nvarchar(255)
Website Nvarchar(50) Website
Email Nvarchar(50) Email
SoDienThoai Nvarchar(20)
SoFax Nvarchar(20) SoFax
Bảng 5: Bảng DM_DON_VI
Tên Kiểu dữ liệu Chú thích Khóa
51
ID_CongViec int *
ID_NhomCongViec int
TenCongViec nvarchar(255)
Bảng 6: Bảng DM_CONG_VIEC
Tên Kiểu dữ liệu Chú thích Khóa
ID_NhomCongViec int *
TenNhomCongViec nvarchar(255)
Bảng 7: Bảng DM_DAN_TOC
Tên Kiểu dữ liệu Chú thích Khóa
ID_DanhHieu int *
MaNhanVien int
NgayPhong nvarchar(10)
LoaiDanhHieu nvarchar(255)
Bảng 8: Bảng DM_DANH_HIEU
Tên Kiểu dữ liệu Chú thích Khóa
ID_HinhThuc int *
Name nchar(50)
Bảng 9: Bảng DM_HINH_THUC
Tên Kiểu dữ liệu Chú thích Khóa
MaHocHam nvarchar(20) *
TenHocHam nvarchar(250)
Bảng 14: Bảng DM_HOC_HAM
52
Tên Kiểu dữ liệu Chú thích Khóa
MaHocVi nvarchar(20) *
TenHocVi nvarchar(250)
Bảng 10: Bảng DM_HOC_VI
Tên Kiểu dữ liệu Chú thích Khóa
ID_LaoDong int *
ID_NhomLD int
Name nvarchar(255)
Bảng 11: Bảng DM_HT_LAO_DONG
Tên Kiểu dữ liệu Chú thích Khóa
ID_KhenThuong int *
Name nvarchar(255)
Bảng 12: Bảng DM_KHEN_THUONG
Tên Kiểu dữ liệu Chú thích Khóa
ID_KyLuat int *
Name nvarchar(255)
Bảng 19: Bảng DM_KY_LUAT
Tên Kiểu dữ liệu Chú thích Khóa
ID_DMNgoaiNgu int *
Name nvarchar(255)
Bảng 13: Bảng DM_NGOAI_NGU
53
Tên Kiểu dữ liệu Chú thích Khóa
ID_QuanHe int *
Name nvarchar(255)
Bảng 14: Bảng DM_QUAN_HE_GD
Tên Kiểu dữ liệu Chú thích Khóa
ID_TinhTrang int *
Name nvarchar(50)
Bảng 15: Bảng DM_TINH_TRANG
Tên Kiểu dữ liệu Chú thích Khóa
ID_TonGiao int *
Name nvarchar(255)
Bảng 16: Bảng DM_TON_GIAO
Tên Kiểu dữ liệu Chú thích Khóa
ID_TDTrinhTri int *
Name nvarchar(255)
Bảng 17: Bảng DM_TRINH_DO_CHINH_TRI
Tên Kiểu dữ liệu Chú thích Khóa
ID_TDHocVan int *
Name nvarchar(255)
Bảng 18: Bảng DM_TRINH_DO_HOC_VAN
Tên Kiểu dữ liệu Chú thích Khóa
ID_XuatThan int *
Name nvarchar(255)
Bảng 19: Bảng DM_XUAT_THAN_GD
Tên Kiểu dữ liệu Chú thích Khóa
54
ID int ID *
MaNhanVien int
ID_QuanHe int
HoVaTen nvarchar(50)
NgaySinh nvarchar(10)
DiaChi ntext
Bảng 20: Bảng DM_QUAN_HE_GD
Tên Kiểu dữ liệu Chú thích Khóa
ID int ID *
MaCanBo nvarchar(50)
HoTen nvarchar(50)
NgaySinh nvarchar(10)
ID_ChucVu int
ID_DonVi int
ID_ChuyenMon int
SoDienThoai nvarchar(50)
Email nvarchar(50) Email
DiaChi nvarchar(500)
UserName nvarchar(50)
PassWord nvarchar(255)
PhanQuyen int
Bảng 21: Bảng TB_CAN_BO
Tên Kiểu dữ liệu Chú thích Khóa
MaNhanVien int *
SoHieuNV nvarchar(50)
TenNhanVien nvarchar(150)
TenGoiKhac nvarchar(255)
NgaySinh smalldatetime
GioiTinh bit
55
NoiSinh nvarchar(255) Nơi sinh
QueQuan nvarchar(255)
HKThuongTru nvarchar(255)
NoiO nvarchar(255)
DienThoai nvarchar(255)
ID_DanToc int
ID_TonGiao int
ID_XuatThan int
DonViTTD nvarchar(255)
NgayVaoLam nvarchar(10)
SoHopDong nvarchar(50)
ID_HinhThuc int
TuNgayHD nvarchar(10)
DenNgayHD nvarchar(10)
ID_CongViec int
MaHocVI nvarchar(20)
MaHocHam nvarchar(20)
ID_ChuyenMon int
Bảng 22: Bảng TB_LY_LICH_NV
Tên Kiểu dữ liệu Chú thích Khóa
ID int ID *
MaNhanVien int
ID_KhenThuong int
NgayKhen nvarchar(50)
Bảng 23: Bảng TB_KHEN_THUONG
Tên Kiểu dữ liệu Chú thích Khóa
ID int ID *
MaNhanVien int
56
ID_KyLuat int
NgayKyLuat nvarchar(50)
MaDonVi nvarchar(50)
LyDo nvarchar(MAX)
Bảng 24: Bảng TB_KY_LUAT
Tên Kiểu dữ liệu Chú thích Khóa
ID_NgoaiNgu int *
MaNhanVien int
ID_DMNgoaiNgu int
ID_NgoaiNguTD int
Bảng 25: Bảng TB_NGOAI_NGU
Tên Kiểu dữ liệu Chú thích Khóa
ID_QT_CongTac int *
MaDonVi nvarchar(50)
MaNhanVien int
TuNgay nvarchar(10)
DenNgay nvarchar(10)
MaChucVu nvarchar(50)
CongViec nvarchar(255)
SoQDinh ntext
KiemTra int
Bảng 26: Bảng TB_QUA_TRINH_CONG_TAC
Tên Kiểu dữ liệu Chú thích Khóa
ID_QT_HocTap int *
MaNhanVien int
TuNgay nvarchar(10)
57
DenNgay nvarchar(10)
TenTruong nvarchar(255)
NganhHoc nvarchar(255)
ID_HinhThuc int
VanBang nvarchar(255)
Bảng 27: Bảng TB_QUA_TRINH_HOC_TAP
Tên Kiểu dữ liệu Chú thích Khóa
ID_QT_Luong int *
MaNhanVien int
HeSoLuong nvarchar(10)
ID_NgachLuong int
NgayThang nvarchar(50)
Bảng 28: Bảng TB_QuaTrinhLuong
58
CHƯƠ
1.13.
Visual studio 2012(2013)
MySQL
Về hệ thống:
Phần cứng: PC bộ vi xử lý pentium III, ram 4GB trở lên , ổ cứng 20GB trở lên.
Hệ điều hành: Windown 8 64bit trở lên
1.14.
Giao diện trên web brower
Hình 3.1: Danh sách nhân viên
59
Hình 3.2: Danh mục chuyển đơn vị
Giao diện trên App Mobile
Hình 3.3 : Danh mục hồ sơ nhân viên
60
Hình 3.4 : Danh mục sửa nhân viên
61
Hình 3.5 : Danh mục biến động công tác
62
Hình 3.6 : Danh mục quản trị hệ thống
63
Đánh giá kết quả đạt được:
- Sau một thời gian khảo sát,nghiên cứu, phân tích, thiết kế và cài đặt thì
chương đã có được những kết quả nhất định như:
+
+
+
Tuy nhiên, Đây là hệ thống đòi hỏi xử lý kỹ thuật cao, thời gian ngắn và
kinh nghiệm của em còn hạn chế. Do đó, hệ thống vẫn còn hạn chế như:
+ Tính hiệu suất của hệ thống chưa được cao.
+ Chưa có chức năng mở rộng
+
Hướng phát triển:
Mặc dù còn nhiều hạn chế, song em sẽ cố gắng khắc phục các hạn chế
đó. Đồng thời sẽ mở rộng hệ thống để có thêm các chức năng tiện ích, phục vụ
tốt hơn cho người dùng. Nâng cao chức năng hệ thống mở rộng và nâng cấp
chương trình ngày hoàn thiện hơn
Em hy vọng hệ thống của em sẽ được hoàn thiện và đưa vào sử dụng trong
thời gian sớm nhất, để có thể góp phần tiết kiệm thời gian, công sức cho các thầy
cô,các bạn sinh viên,...
Em rất mong nhận được những đóng góp quý báu từ phía thầy cô và các bạn !
Em xin chân thành cảm ơn.
64
[1] Windows Phone 8 Development Internals – Andrew Whitechapel, Sean McKenna
[2] Pro Windows Phone App Development, 3rd Edition – Ken Cenerelli
[3] Beginning windows phone app development – Henry Lee – Eugene
Chuvyrov
[4] Windows Phone 8 – Development for absolute beginners – Bob Tabor, Clint
Rutkas, Larry Lieberman
[5] Windows Phone 8 Recipes – Lori Lalonde and David R.Totzke
[6] Windows 8 and Windows Phone 8 Game Development – Adam Dawes
[7] http://www.winphoneviet.com/forum/index.php?threads/1250/
[8]http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-
Absolute-Beginners/Part-1-Series-Introduction?wt.mc_id=EntriesInArea
65
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
Thái Nguyên, ngày tháng năm 2015
Giáo viên hướng dẫn
66

Xây dựng phần mềm trên window Phone

  • 1.
    LỜI CM ƠN Đầutiên cho em gửi lời biết ơn sâu sắc đến thầy giáo đã định hướng, cung cấp tài liệu và tận tình giúp đỡ, động viên em trong quá trình thực hiện đề tài. Thầy đã dành nhiều thời gian và tâm huyết theo sát, chỉ bảo em những mặt được và chưa được để em có thể hoàn thành đề tài một cách tốt nhất. Em xin chân thành cảm ơn các thầy cô trong bộ môn Công Nghệ Phần Mềm cũng như tất cả các thầy cô trong nhà trường đã giảng dạy và giúp đỡ em trong thời gian em theo học. Chính các thầy cô đã xây dựng cho chúng em những kiến thức chuyên môn để em có thể hoàn thành đồ án cũng như cho công việc sau này Thái Nguyên, tháng 06 năm 2015 Sinh viên thực hiện
  • 2.
    LỜI CAM ĐOAN Emxin cam đoàn toàn bộ nội dung của đồ án không hề được sao chép từ bất cứ đồ án nào mà do chính bản thân em nghiên cứu xây dựng nên. Nếu phát hiện ra nội dùng là sao chép em xin hoàn toàn chịu trách nhiệm trước bộ môn cũng như nhà trường. Sinh viên thực hiện Nguyễn Ngọc Sáng
  • 3.
    MỤC LỤC ...................................................................................................................................1 MỤC LỤC................................................................................................................3 ...................................................................................................................................4 CƠSỞ LÝ THUYẾT..............................................................................................2 .................................................................................................................................11 .................................................................................................................................59 .................................................................................................................................64 .................................................................................................................................65
  • 4.
  • 5.
    LỜI MỞ ĐẦU Cáchđây nhiều năm, khi mà smartphone hay các thiết bị di động cầm tay chưa thực sự phát triển và phổ biến đối với người tiêu dùng hiện tại thì chúng ta cũng đã biết tới một số hệ điều hành dành cho các máy PDA như Windows Mobile của Microsoft hay các điện thoại thông minh chạy BlackberryOS của RIM… Tuy nhiên, vào năm 2007 – thời điểm Apple giới thiệu điện thoại thông minh iPhone và hệ điều hành mà hiện nay được biết với tên gọi IOS đã thực sự thay đổi thị trường di động thế giới, định nghĩa lại smartphone cũng như châm ngòi cho cuộc chiến giữa các nền tảng di động, thúc đẩy nền công nghiệp phần cứng cũng như phần mềm. Có thể nói rằng cuộc chiến giữa các hệ điều hành đang xoay quanh những cái tên: Android (Google), IOS (Apple), Windows Phone (Microsoft), BlackberryOs (RIM) và Symbia (Nokia). Microsoft luôn được biết là gã khổng lồ phần mềm của thế giới, luôn là kẻ đi đầu nhưng hiện tại Google và Apple chiếm hầu hết thị trường kèm theo đó là lợi nhuận khổng lồ từ lượng khách hành kỷ lục (riêng QIII-2012 có 181 triệu smartphone bán ra). Sau khi thấy sự thua kém quá lớn của Windows Mobile 6.x với các đối thủ, Microsoft quyết tâm lấy lại thị trường thông qua việc cho ra một nền tảng di động hoàn toàn mới: Windows Phone 7 với những ưu ddierm rất dễ thấy đó là khả năng đồng bộ với máy tính cao, giao diện Metro độc đáo và khác biệt, hỗ trợ công việc với các tiện ích văn phòng mạnh mẽ và dễ tiếp cận sử dụng. Hãy xem Microsoft đã mang lại những đặc biệt gì khi không chỉ hấp dẫn người sử dụng và lập trình viên 1
  • 6.
    CƠ SỞ LÝTHUYẾT 1.1. Lịch sử phát triển Windows Phone được Microsoft phát triển để thay thế cho hệ điều hành di động Windows Mobile trước đây. Windows Phone bắt đầu từ phiên bản thứ 7 (khi ra mắt, Microsoft gọi nó là Windows Phone 7, còn hiện giờ nó đã có phiên bản lên đến 10). Được biết, do phát triển trong thời gian ngắn nên Windows Phone rất hạn chế trong việc tương thích ngược với các nền tảng Windows Mobile trước đó. Một lý do nữa để Microsoft không quan tâm nhiều đến nền tảng cũ đó là vì màn hình cảm ứng bằng ngón tay ngày càng phổ biến hơn trên điện thoại và Windows Mobile vốn thiết kế cho bút stylus đã trở nên rất lỗi thời. Windows bắt đầu được ra mắt chính thức vào tháng 2/2010 ở triển lãm Mobile World Congress diễn ra ở Barcelona, Tây Ban Nha. Đến tháng 10 cùng năm, CEO Steve Ballmer của Microsoft ra mắt 10 thiết bị Windows Phone đầu tiên đến từ HTC, Dell, Samsung, LG. Vài tuần sau, máy bắt đầu được bán ra ở Mỹ và Châu Âu. Tháng 5 cùng năm, Microsoft tuyên bố hợp tác với một số nhà sản xuất khác là Acer, Fujitsu và ZTE. Một cột mốc quan trọng của Windows Phone đó là sự hợp tác giữa Microsoft với Nokia sau khi hãng điện thoại Phần Lan này quyết định không còn tập trung vào điện thoại Symbian nữa. Kết quả của sự hợp tác này đó là dòng Nokia Lumia ra đời ở sự kiện Nokia World 2011. Đến CES 2012, Nokia tiếp tục ra mắt hai máy Lumia mới nữa (mình sẽ đề cập ở phần sau). Việc tích hợp các dịch vụ của Microsoft (Bing, Bing Maps, Windows Phone Marketplace,…) lên thiết bị Nokia được cho là sẽ tạo nên lợi thế cạnh tranh cho WIndows Phone với hai đối thủ lớn hiện thời là iOS và Android. Lịch sử các phiên bản phát triển của Windows Phone:  7.0.7004: phiên bản đầu tiên của Windows Phone 7  7.0.7008: nâng cấp và cải thiện một vài điểm 2
  • 7.
     7.0.7390: bảncập nhật với tên mã NoDo, hỗ trợ mạng CDMA, copy và paste, tốc độ chạy ứng dụng nhanh hơn, tích hợp Facebook sâu hơn  7.0.7392: sửa các lỗi liên quan đến chứng nhận bảo mật  7.0.7403: bản tiền nâng cấp để chuẩn bị bước sang một đợt nâng cấp lên  7.10.7720: đây là Windows Phone 7.5 với tên mã Mango, được giới thiệu 2/2011. Các tính năng mới được thêm vào như Internet Explorer 9 hỗ trợ đồ họa và chuẩn web tốt hơn, Twitter tích hợp vào People Hub, chạy đa nhiệm cho các ứng dụng bên thứ ba bằng cách tạm ngừng chúng  7.10.7740: sửa lỗi Microsoft Exchange Server 2003 và cảnh báo hộp thư thoại  7.10.8107: hỗ trợ kết nối LTE, sửa lỗi bàn phím bị biến mất và nhiều vấn đề khác  7.10.8112: bản cho Lumia 900 và HTC Titan II của nhà mạng AT&T  7.10.8773: còn gọi là Windows Phone 7.5 Refresh với tên mã Tango. Nhiều tính năng mới xứat hiện như MMS tốt hơn, biểu tượng cho việc dò vị trí, xuất và quản lí danh bạ vô SIM, hỗ trợ điện thoại giá rẻ với 256MB RAM và xung nhịp CPU chậm  7.10.8779: sửa lổi, cải thiện và nâng cấp 1.2. Chi tiết về Windows Phone 1.2.1. Phần cứng Chuẩn:  3 phím vật lý phía trước máy: Start, Back, Search  Màn hình cảm ứng điện dung đa điểm (nhận diện tối thiểu 4 điểm chạm), hỗ trợ độ phân giải tối thiểu WVGA (800 x 480) widescreen.  Hỗ trợ kết nối 3G/4G và Wi-fi  256 MB (tối thiểu) - RAM và 8 GB bộ nhớ (hoặc nhiều hơn)  A-GPS.  Accelerometer (gia tốc kế). Bổ sung: 3
  • 8.
     Compass (labàn)  Gyro (Con quay hồi chuyển)  Camera trước, sau.  Windows Phone 7 không hỗ trợ thẻ nhớ (microSD) tháo rời. 1.2.2. Phần mềm cơ bản Giao diện tổng quát: Trên Windows Phone 7, giao diện mà bạn thấy được Microsoft gọi là Metro UI (Modern UI). Đặc điểm cơ bản là các ô vuông vuông (Tile) ở màn hình chính. Những thành phần đồ họa khác cũng không có nhiều nét mềm mại, cong cong tròn tròn mà cũng mang dáng vuông hoặc chữ nhật. Một số Tile có khả năng cập nhật dữ liệu theo thời gian thực thì gọi là Live Tile. Start Screen – Hub : Trong Windows Phone, các tính năng được sắp xếp theo từng Hub. Các Hub có thể xem như một nơi để máy tổng hợp thông tin chứa trong máy và thông tin từ các dịch vụ trực tuyến để hiển thị trong một giao diện thống nhất. Hub trong Windows Phone có thể hiện thị được thông tin từ các dịch vụ như Facebook, Windows Live, Twitter. Market Place: Đây là kho ứng dụng trực tuyến của Microsoft phát triển dành riêng cho Windows Phone. Những lập trình viên sau khi viết xong chương trình của mình, qua một loạt giai đoạn đăng kí, kiểm duyệt, ứng dụng của họ sẽ đến với mọi người thông qua kênh phân phối Marketplace. Trên Market có hai loại ứng dụng, đó là thu phí và miễn phí. Ở Việt Nam chúng ta hiện đã có thể dùng Marketplace. Tính năng đáng chú ý Settings: Đây là nơi bạn sẽ truy cập vào toàn bộ các thiết lập của máy. Ringtones + sounds: tinh chỉnh âm thanh, nhạc chuông báo tin nhắn, báo có cuộc gọi, báo email,… Theme: chỉnh giao diện chung của máy Flight mode: chế độ máy bay, tức là khi bật chế độ này, toàn bộ các kết nối không dây sẽ được ngắt đi để đảm bảo an toàn hàng không. Bạn cũng có thể dùng nó để… từ chối các cuộc gọi hay tin nhắn những lúc bạn bận bịu mà không muốn tắt hẳn smartphone của mình. Wifi: bật tắt kết nối Wifi và tủy chỉnh liên quan đến mạng không dây này 4
  • 9.
    Bluetooth: bật tắtBluetooth. Bạn lưu ý rằng Bluetooth của Windows Phone mặc định không cho phép chia sẻ tập tin, có lẽ Microsoft lo sợ vấn đề bản quyền nội dung số, giống với những gì Google và Apple đã làm với thiết bị của họ. Bạn chỉ có thể kết nối máy với các loa ngoài hay tai nghe Bluetooth mà thôi. Bạn cũng không thể dùng tính năng Browse File trên máy tính để duyệt tập tin trên điện thoại Windows Phone được. Có một số phương pháp để làm thiết bị trao đổi file được nhưng đòi hỏi phải jailbreak. Internet Sharing: biến chiếc điện thoại thành trạm phát sóng Wifi bằng cách dùng mạng 3G để thiết lập kết nối Internet. Với tính năng này, bạn có thể dễ dàng chia sẻ mạng cho máy tính xách tay mỗi khi đi đến vùng nào không có Wifi bình thường hoặc lúc bạn đang di chuyển trên xe đường dài chẳng hạn. Email + Account: thiết lập tài khoản email, mạng xã hội, danh bạ,… Lock + Wallpaper: nơi đây bạn sẽ đổi được hình nền cho màn hình khóa, đồng thời thiết lập thời gian tự động khóa màn hình cũng như mật khẩu mở khóa. Mobile Network: thông số về mạng di động của chúng ta có thể được tùy chỉnh ở đây. Khi chọn vào và kéo xuống bên dưới, bạn sẽ thấy nút "add apn". Có thể dùng nó để thiết lập cấu hình 3G nếu máy không tự động tải về cho bạn. Keyboard: tính đến thời điểm hiện tại, ta không thể tùy biến nhiều cho bàn phím của Windows Phone, và nó cũng chưa hiện được tiếng Việt. 1.3. Hạn chế của Windows Phone Phát triển sau iOS cũng như Android nên WP đã bị mất thị phần quá nhiều vào 2 đối thủ trên, đồng thời các nhà phát triển chưa thật sự mặn mà với Windows Phone 7 nên Windows Phone không có nhiều Application. Mặt khác người dùng cũng đã quen với việc sử dụng iOS cũng như Android nên chưa tiếp cận nhiều tới Windows Phone. Bản thân hệ điều hành này cũng chưa thật sự hoàn thiện về nhiều mặt, còn thiếu nhiều tính năng quan trngj như mobile hotspot, máy nhạy nhưng thời gian load ứng dụng lâu,... Hy vọng WP8 sẽ hoàn thiện hơn nữa. 1.4. Nền tảng ứng dụng Windows Phone Application Platform Microsoft không phát minh ra bất kỳ ngôn ngữ mới hoặc Framework mới cho các ứng dụng nền tảng Windows Phone. Điều này có nghĩa rằng chúng ta sẽ có thể lập trình bằng cách sử dụng C # (VB không được hỗ trợ tại thời điểm hiện tại) với .NET Framework. Lập trình viên sẽ được hỗ trợ các thư viện quen 5
  • 10.
    thuộc, bao gồm:hỗ trợ đa luồng, XML, LINQ, các sự kiện, dữ liệu, trường hợp ngoại lệ, IO, mô hình dịch vụ, mạng, văn bản, vị trí, tài nguyên, runtime, bảo mật. Dựa trên lõi .NET Framework., ứng dụng nền tảng Windows Phone bao gồm hai Framework: Silverlight và XNA. Silverlight chủ yếu dùng cho các ứng dụng kinh doanh và 2D đơn giản. Silverlight sử dụng các ứng dụng Extensible Markup Language (XAML) là ngôn ngữ đánh dấu khai báo để tạo ra giao diện người dùng hấp dẫn. Các nhà thiết kế sẽ có tính linh hoạt rất lớn trong việc tạo ra các giao diện người dùng cho Windows Phone bằng cách sử dụng các công cụ quen thuộc như Adobe Illustrator, Photoshop, và Microsoft Expression Blend để tạo ra vector dựa trên giao diện người dùng có thể dễ dàng xuất khẩu để XAML. XNA là chủ yếu được sử dụng để tạo ra các trò chơi, và Framework đi kèm với một công cụ trò chơi cho phép bạn tạo ra các trò chơi dựa trên vòng lặp và cũng cung cấp một công cụ 3D, cho phép bạn tạo ra các trò chơi 3D. 1.5. Vòng đời phát triển ứng dụng Windows Phone Hiểu biết về vòng đời của ứng dụng sẽ giúp chúng ta hiểu về những gì bạn sẽ cần phải chuẩn bị nhiều hơn nữa trong việc tìm hiểu về Windows Phone bao gồm cả quá trình chứng nhận được bao phủ 6
  • 11.
    Hình 1.1: Minhhọa chu kỳ sống của một ứng dụng. Là một nhà phát triển, ta sẽ bắt đầu tại App Hub đăng ký với Windows Live ID của bạn (tạo ra nó nếu bạn chưa có tài khoản). Sau khi đăng ký tại App Hub, bạn có thể đăng ký thiết bị vật lý của bạn để bạn có thể gỡ lỗi trong thiết bị thực. Hãy nhớ rằng bạn có thể thêm lên đến ba thiết bị. Sử dụng Visual Studio / hoặc Expression Blend, bạn sẽ tạo ra ứng dụng và gỡ lỗi của bạn bằng cách sử dụng giả lập hoặc thiết bị mà bạn đã đăng ký. Một khi ứng dụng được tạo ra, bạn cần phải gửi các ứng dụng để quá trình chứng nhận. Để đảm bảo rằng ứng dụng của bạn sẽ vượt qua được quá trình cấp giấy chứng nhận Marketplace, nó sẽ là một ý tưởng tốt để bạn có thể đọc và hiểu các tài liệu chứng nhận ứng dụng được tìm thấy tại http://go.microsoft.com/? linkid=9730558. Là một phần của quá trình chứng nhận, ứng dụng của bạn sẽ đi qua một loạt các kiểm chứng thực tế chống lại các chính sách ứng dụng và nội dung, bao bì, mã, tiết lộ tính năng điện thoại, ngôn ngữ, và hình ảnh theo yêu cầu. Ứng dụng của bạn cũng sẽ được thử nghiệm trên độ tin cậy, hiệu suất, quản lý tài nguyên, chức năng điện thoại sử dụng, và an ninh. Quá trình chứng nhận là nơi để giúp thúc đẩy các ứng dụng chất lượng cho người tiêu dùng, để bảo vệ người tiêu dùng malware, và bảo vệ các dịch vụ của Microsoft. Sau khi ứng dụng vượt qua quá trình chứng nhận, nó sẽ được triển khai trên Marketplace và cho phép người sử dụng tải về. Người tiêu dùng sẽ sử dụng ứng dụng của bạn và cung cấp xếp hạng và bình luận, và các báo cáo có thể được tạo ra bởi bạn từ App Hub để thay đổi vị trí hiển thị ứng dụng của bạn trên Marketplace. Dựa trên những phản hồi bạn nhận được, bạn có thể chọn để triển khai một phiên bản cập nhật sửa lỗi và các tính năng mới cho người dùng. Mục tiêu cuối cùng của bạn là tạo ra một ứng dụng hấp dẫn mà bạn biết người tiêu dùng sẽ sử dụng và được chấp nhận trên Marketplace. Market Place yêu cầu 99$/ năm và cung cấp cho bạn truy cập vào Windows Phone Marketplace và Xbox 360 Marketplace. Trong Windows Phone Marketplace, bạn có thể gửi một số lượng không giới hạn ứng dụng và bạn có thể gửi 5 ứng dụng miễn phí. Đệ trình bổ sung sẽ có giá 19,99 USD. Trong Xbox 360 Marketplace, bạn có thể gửi lên đến 10 trò chơi. Bạn sẽ có thể thực hiện bất kỳ hoạt động nào của Markerplace thông qua các báo cáo được cung cấp, như nhận xét, xếp hạng, và số lượng được bán ra, để bạn có thể cải thiện hiệu quả bán hàng và những nỗ lực tiếp thị. 7
  • 12.
    Khi ứng dụngcủa bạn được mua bởi người tiêu dùng, Microsoft lấy 30% và bạn nhận được 70%. 1.6. Tổng quan Json 1.6.1. Json là gì? JSON - Viết tắt của JavaScript Object Notation nó là một chuẩn để định dạng dữ liệu, về mặt này, có thể so sánh JSON với XML YAML… Nhưng khi JSON đi với JavaScript hoặc ActionScript thì nó có tính ưu việt hơn hẳn.Tại sao JSON có liên quan đến JavaScript, ActionScript. Đơn giản là vì dữ liệu được định dạng JSON chính là cách biểu diễn một đối tượng trong các Scripting Language này. Khi sử dụng JSON với JavaScript hay ActionScript, không cần phải có các bước phân tích phức tạp như đối với XML mà có thể truy vấn trực tiếp giá trị theo tên (khóa) được định nghĩa trong JSON.JSON cũng như XML, nó chỉ mô tả dữ liệu, không có khả năng trình bày, không có khả năng tự chạy, nói chung là thụ động. Ta chỉ có thể nhận JSON rồi làm gì đó, hoặc ta có gì đó rồi chuyển thành JSON để gửi đi, chứ ta không thể chạy JSON, Ví dụ: {Nhom1: [{ hoten: "Nguyen Van A", tuoi: 21, nam: true, nhomMau: "O" }, { hoten: "Tran Van B", tuoi: 22, nam: true, nhomMau: "A" }, { hoten: "Le Thi C", tuoi: 23, nam: false, nhomMau: "AB" }], Nhom2: [{ hoten: "Huynh Van D", tuoi: 24, nam: true, nhomMau: "B" }, { hoten: "Ngo Thi E", tuoi: 22, nam: false, nhomMau: "A" },]} Trên đây là một ví dụ, mô tả thông tin về hai nhóm, trong nhóm có những thông tin thành viên như: họ tên, tuổi, giới tính, nhóm máu. Những thông tin trên được diễn đạt bằng những kiểu dữ liệu cơ bản của Javascript: chuỗi, số, mảng, đối tượng. Vậy JSON là một kiểu mô tả dữ liệu dựa trên cơ sở là Javascript. Tuy nhiên Json có cú pháp và quy định riêng 1.6.2. Kiểu dữ liệu của Json Json có 5 kiểu dữ liệu chính • Number: kiểu số bao gồm số nguyên và số thực. • String: kiểu chuỗi, nội dung bao bởi cặp dấu nháy kép “, những ký tự đặt biệt được escape bởi dấu .Theo chuẩnJSON thì không sử dụng dấu nháy đơn như Javascript để bọc chuỗi. • Boolean: kiểu luận lý bao gồm 2 giá trị là true và false 8
  • 13.
    • Array: kiểumảng, gồm các phần tử phân cách nhau bởi dấu phẩy ‘,’ và mảng được bao bởi cặp dấu [ và ]. • Object: kiểu đối tượng, gồm những cặp giá trị đi cùng nhau, mỗi cặp phân cách bởi dấu phẩy’,’, đối tượng được bao bởi cặp dấu { và }, cặp giá trị bao gồm tên và giá trị được phân cách bởi dấu hai chấm’:’. • -Null: giá trị null. 1.6.3. Ưu điểm của Json • Có thể đọc hiểu được (human-readability). • Là kiểu dữ liệu trên nền cơ sở Javascript nên dễ dàng tiếp cận. • Dữ liệu truyền tải ngắn gọn so với những định dạng dữ liệu khác như: xml, html… • Dễ dàng chuyển đổi(parse) dữ liệu từ dạng chuỗi (nhận từ server) sang dữ liệu có thể sử dụng được (thành Object, Number, Array)… • Dễ truy cập nội dung. • Với những ứng dụng Ajax lấy và xử lý dữ liệu từ một web service nào đó khác domain: Nếu nội dung trả về có dạng xml thì javascript từ trang web của chúng ta không thể trực tiếp truy cập mà phải nhờ một proxy để đáp ứng yêu cầu của same origin policy.Nhưng nếu là dạng JSON thì đó không là vấn đề. (Thường dùng lệnh eval). • Hai công nghệ phổ biến sử dụng JSON là PHP và .NET 1.6.4. So sánh xml và Json XML tiên phong trong lĩnh vực chuẩn hóa, mô tả dữ liệu, có thể nói XML là sự cách mạng trong việc định dạng và mô tả dữ liệu hiện nay, có khá nhiều ứng dụng sử dụng XML để lưu trữ, ngay như HTML cũng có phần "na ná" như XML hoặc sự ra đời XHTML là kết hợp của HTML viết theo cú pháp đúng chuẩn XML. XML có nhiều ưu điểm vậy, liệu JSON có là đối thủ ? Tất nhiên sự có mặt của JSON không hoàn toàn thay thế được với lão làng XML, nhưng trong một phạm vi nhỏ, những ứng dụng về ajax.Ứng dụng ajax nhằm mục đích giúp thời gian tương tác giữa người sử dụng với ứng dụng tiến gần đến thời gian thực (chớp mắt là thấy), cho nên tốc độ được đặt lên hàng đầu, việc tăng tốc bằng 9
  • 14.
    cách "giảm tải"cũng là một giải pháp, chính vì vậy JSON được ưu ái hơn vì cú pháp ngắn gọn, đơn giản, tiết kiệm hơn XML, ví dụ trên nếu mô tả bằng XML. <Object> < Property> <Key>Nhom1</Key> <Array> <Object> <Property> <Key>hoten</Key> <String>Nguyen Van A</String> </Property> <Property> <Key>tuoi</Key> <String>21</String> </Property> <Property> <Key>nam</Key> <Number>true</ Number > </Property> <Property> <Key>nhommau</Key> <Boolean>O</ Boolean > </Property> </Object> </Array> </ Property > </Object> Đây chỉ là mô tả về một đối tượng “Nguyễn Văn A” trong “Nhom1”, mã dữ liệu dài dòng và khó đọc, đó cũng là khuyết điểm của XML.Một lợi điểm nữa của JSON so với XML là có cách phân tích xử lý đơn giản, chỉ qua 1 bước (chuyển chuỗi nhận được từ máy chủ sang dữ liệu có thể sử dụng được), còn XML thì phải mất những 3 bước:Tạo một đối tượng xử lý XML, mỗi trình duyệt có trình xử lý XML khác nhau, nên cần phải có kinh nghiệm.Chuyển chuỗi nhận từ máy chủ thành cấu trúc những đối tượng thẻ của XML.Dựa trên cấu trúc XML đã chuyển, lại chuyển tiếp thành dữ liệu có thể sử dụng được. 10
  • 15.
    1.7. Để trở thành1 người quản lý nhân sự khôn khéo thì người làm công tác nhân sự luôn luôn cần phải nắm rõ lý lịch, đặc điểm, quá trình công tác, khen Qua đó, ta thấy rằng vấn đề quản lý nhân sự luôn luôn là một vấn đề cấp thiết. Theo sự phát triển của công nghệ ngày nay, các thiết bị di dộng ra đời và ngày càng phổ biến. Vì tính chất tiện lợi và gọn nhẹ do đó em chọn đề tài “Xây dựng chương trình trên nền tảng WindowsPhone” để làm đề tài đồ án tốt nghiệp. Chương trình quản lý nhân sự này được viết dùng với mục đích quản lý nhân viên về các mặt: lý lịch, công tác,học tập… chương trình được viết trên nền PC chưa thật sự tiện lợi nên em đã chọn môi trường di động và sử dụng ngôn ngữ lập trình WindowsPhone 8 - là 1 ngôn ngữ mới và thịnh hành nhất hiện nay để viết phần mềm này nhằm sử dụng cơ sở dữ liệu một cách hiệu quả hơn, tạo giao diện thân thiện với người sử dụng và cũng nhằm mục đích rèn luyện kỹ năng lập trình, tập làm những chương trình lớn, học hỏi thêm nhiều ở ngôn ngữ này Chương trình cho phép người sử dụng quản trị hệ thống mạnh, tìm kiếm thông tin nhanh, chính xác. Song bên cạnh đó vì thời gian có hạn, kỹ năng lập 1.8. 1.8.1. Hiện trạng và khó khăn khi phát triển hệ thống . Việc phát triển trên nền di động là một hướng mới. Nguồn kinh phí đòi hỏi lớn. 1.8.2. Tóm tắt hoạt động của hệ thống Là một phần mềm 11
  • 16.
    Mọi người khitruy cập vào chương trình Admin có thể cập nhập các thông tin và bảo trì hệ thống. 1.8.3. Đối tượng sử dụng Có 2 đối tượng sử dụng cơ bản là người dùng và nhà quản trị: . Nhà quản trị (Admin): Nhà quản trị có toàn quyền sử dụng và cập nhật thông tin, thống kê, báo cáo và đảm bảo tính an toàn cho chương trình. 1.8.4. Mục đích của đề tài Cung cấp thông tin đầy đủ và chính xác về thông tin nhân viên. 1.9. Phân tích, thiết kế các chức năng của hệ thống 1.9.1. Các tác nhân chính Hệ thống có hai tác nhân chính là nhân viên và quản trị viên Tác nhân quản trị viên: người quản trị, người có toàn quyền. Thường thì quản trị viên là người quản lý nhân lực của công ty, giám đốc, phó giám đốc. Người này có thể thêm, sửa, xóa tất cả các thông tin cần thiết liên quan đến nhân viên của công ty như: thêm nhân viên mới, xóa thông tin nhân viên không còn làm việc tại công ty, in báo cáo về nhân sự, trình độ nhân viên,… 12
  • 17.
    1.9.2. Biểu đồUse case hệ thống Hình 2.1: 1.9.3. use case Hình 2.2 “Đăng nhập”: 13
  • 18.
    -Tác nhân: User(người sử dụng), Admin 1. UC này bắt đầu khi người dùng muốn đăng nhập vào hệ thống: 2. Hệ thống đưa dấu nhắc tới nơi nhập UserName và password. 3. Người dùng nhập UserName và password . 4. Hệ thống xác nhận thông tin nhập vào là hợp lệ hay không. 5. Hệ thống thông báo đăng nhập thành công. 6. UC kết thúc. n: Hình 2.3 14
  • 19.
    1.9.4. Hình 2.4: Hình 2.5 “Thêm: - UC này giúp cho người dùng có thể thêm - Tác nhân: User (người sử dụng),Admin - UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống: 1. 15
  • 20.
    2. Người dùngnhập các thông tin mà hệ thống yêu cầu. 3. Hệ thống xác nhận các thông tin mà người dùng đã thêm 4. 5. UC kết thúc. 16
  • 21.
    Hình 2.6” “Sửa : UCnày cho phép người dùng sửa thông tin đã ghi khi muốn thay đổi. - Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi: 1. 2. Người dùng chọn thông tin muốn sửa 3. 4. Người dùng sửa theo ý muốn 5. 6. 7. UC kết thúc. 17
  • 22.
    ”: Hình 2.7” 1.9.5. Hình 2.8“Q” :Thêm: - UC này giúp cho người dùng có thể thêm - Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống: 1. 2. Người dùng nhập các thông tin mà hệ thống yêu cầu. 3. Hệ thống xác nhận các thông tin mà người dùng đã nhập có chính xác hay không. 18
  • 23.
    4. 5. UC kếtthúc. ”: Hình 2.9” “Sửa : UC này cho phép người dùng sửa thông tin đã ghi khi muốn thay đổi. - Tác nhân: User (người sử dụng),ADmin - UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi: 1. 2. Người dùng chọn thông tin muốn sửa 3. 4. Người dùng sửa theo ý muốn 5. 6. 7. UC kết thúc. ”: 19
  • 24.
    Hình 2.10 “Xóa : -Tác nhân: User (người sử dụng),ADmin - UC này bắt đầu khi người dùng muốn xóa thông tinkhông muốn để nữa. 1. Hệ thống hiển thị danh sách thông tin của người dùng. 2. Người dùng chọn thông tin muốn xóa 3. Hệ thống hỏi xem người dùng có thực sự muốn xóa 4. Hệ thống xóa thông tin người dùng chọn 5. UC kết thúc. 20
  • 25.
    Hình 2.11 1.9.6. Hình 2.12“Q” “Thêm: - Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống: 1. 2. Người dùng nhập các thông tin mà hệ thống yêu cầu. 3. Hệ thống xác nhận các thông tin mà người dùng đã thêm 4. 5. UC kết thúc. hêm ”: 21
  • 26.
    Hình 2.13hêm “Sửa : -UC này cho phép người dùng sửa thông tin khi muốn thay đổi. - Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi: 1. Hệ thống hiển thị danh sách các thông tin 2. Người dùng chọn thông tin muốn sửa 3. 4. Người dùng sửa theo ý muốn 5. Hệ thống xác nhận thông tin người dùng nhập hay không 6. 7. UC kết thúc. ”: 22
  • 27.
    Hình 2.14 “Xóa : UCnày bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa. 1. Hệ thống hiển thị danh sách thông tin của người dùng. 2. Người dùng chọn thông tin muốn xóa 3. Hệ thống hỏi xem người dùng có thực sự muốn xóa 4. Hệ thống xóa thông tin người dùng chọn 5. UC kết thúc. 23
  • 28.
    Hình 2.15 1.9.7. Hình 2.16“Q” “T ”: - Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống: 1. 2. Người dùng nhập các thông tin mà hệ thống yêu cầu. 3. Hệ thống xác nhận các thông tin mà người dùng đã thêm 24
  • 29.
    4. 5. UC kếtthúc. Hình 2.17 “S ”: - UC này cho phép người dùng sửa thông tin mà họ khi muốn thay đổi. - Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi: 1. Hệ thống hiển thị danh sách các thông tin 2. Người dùng chọn thông tin muốn sửa 3. 4. Người dùng sửa theo ý muốn 5. Hệ thống xác nhận thông tin người dùng nhập hay không 6. 25
  • 30.
    7. UC kếtthúc. Hình 2.18 “X ”: UC này bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa. 1. Hệ thống hiển thị danh sách thông tin của người dùng. 2. Người dùng chọn thông tin muốn xóa 3. Hệ thống hỏi xem người dùng có thực sự muốn xóa 4. Hệ thống xóa thông tin người dùng chọn 5. UC kết thúc. 26
  • 31.
    Hình 2.19 1.9.8. Hình 2.20“Q” “T”: - Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống: 1. 2. Người dùng nhập các thông tin mà hệ thống yêu cầu. 27
  • 32.
    3. Hệ thốngxác nhận các thông tin mà người dùng đã thêm 4. 5. UC kết thúc. Hình 2.21hêm “S ”: - UC này cho phép người dùng chỉnh sửa thông tin khi muốn thay đổi. - Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi: 1. Hệ thống hiển thị danh sách các thông tin 2. Người dùng chọn thông tin muốn sửa 3. 4. Người dùng sửa theo ý muốn 5. Hệ thống xác nhận thông tin người dùng nhập hay không 6. 28
  • 33.
    7. UC kếtthúc. Hình 2.22 “X ”: UC này bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa. 1. Hệ thống hiển thị danh sách thông tin của người dùng. 2. Người dùng chọn thông tin muốn xóa 3. Hệ thống hỏi xem người dùng có thực sự muốn xóa 4. Hệ thống xóa thông tin người dùng chọn 5. UC kết thúc. 29
  • 34.
    Hình 2.23 1.9.9. Hình 2.24“Q” “T”: - Tác nhân: User (người sử dụng),Admin 1. UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống: 2. 3. Người dùng nhập các thông tin mà hệ thống yêu cầu. 30
  • 35.
    4. Hệ thốngxác nhận các thông tin mà người dùng đã thêm 5. 6. UC kết thúc. Hình 2.25hêm “S ”: - UC này cho phép người dùng chỉnh sửa thông tin khi muốn thay đổi. - Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi: 1. Hệ thống hiển thị danh sách các thông tin 2. Người dùng chọn thông tin muốn sửa 3. 4. Người dùng sửa theo ý muốn 5. Hệ thống xác nhận thông tin người dùng nhập hay không 6. 7. UC kết thúc. 31
  • 36.
    Hình 2.26 “X ”: UCnày bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa. 1. Hệ thống hiển thị danh sách thông tin của người dùng. 2. Người dùng chọn thông tin muốn xóa 3. Hệ thống hỏi xem người dùng có thực sự muốn xóa 4. Hệ thống xóa thông tin người dùng chọn 5. UC kết thúc. 32
  • 37.
    Hình 2.27 1.9.10. Hình 2.28“Q” “T”: - Tác nhân: User (người sử dụng),Admin 1. UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống: 2. 3. Người dùng nhập các thông tin mà hệ thống yêu cầu. 4. Hệ thống xác nhận các thông tin mà người dùng đã thêm 33
  • 38.
    5. 6. UC kếtthúc. Hình 2.29hêm “S ”: - UC này cho phép người dùng sửa thông tin khi muốn thay đổi. - Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi: 1. Hệ thống hiển thị danh sách các thông tin 2. Người dùng chọn thông tin muốn sửa 3. 4. Người dùng sửa theo ý muốn 5. Hệ thống xác nhận thông tin người dùng nhập hay không 6. 7. UC kết thúc. 34
  • 39.
    Hình 2.30 “X ”: UCnày bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa. 1. Hệ thống hiển thị danh sách thông tin của người dùng. 2. Người dùng chọn thông tin muốn xóa 3. Hệ thống hỏi xem người dùng có thực sự muốn xóa 4. Hệ thống xóa thông tin người dùng chọn 5. UC kết thúc. 35
  • 40.
    Hình 2.31 1.9.11. Hình 2.32“Q” “T”: -Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống: 1. 2. Người dùng nhập các thông tin mà hệ thống yêu cầu. 3. Hệ thống xác nhận các thông tin mà người dùng đã thêm 36
  • 41.
    4. 5. UC kếtthúc. Hình 2.33hêm “S ”: -UC này cho phép người dùng sửa thông tin đã ghi khi muốn thay đổi. -Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi: 1. Hệ thống hiển thị danh sách các thông tin 2. Người dùng chọn thông tin muốn sửa 3. 4. Người dùng sửa theo ý muốn 5. Hệ thống xác nhận thông tin người dùng nhập hay không 6. 7. UC kết thúc. 37
  • 42.
    Hình 2.34 “X ”: UCnày bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa. 1. Hệ thống hiển thị danh sách thông tin của người dùng. 2. Người dùng chọn thông tin muốn xóa 3. Hệ thống hỏi xem người dùng có thực sự muốn xóa 4. Hệ thống xóa thông tin người dùng chọn 5. UC kết thúc. 38
  • 43.
    Hình 2.35 1.9.12. Hình 2.36“Q” “T”: -Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống: 1. 2. Người dùng nhập các thông tin mà hệ thống yêu cầu. 3. Hệ thống xác nhận các thông tin mà người dùng đã thêm 4. 5. UC kết thúc. 39
  • 44.
    Hình 2.37hêm “S ”: -UCnày cho phép người dùng sửa thông tin đã ghi khi muốn thay đổi. -Tác nhân: User (người sử dụng),Admin UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi: 1. Hệ thống hiển thị danh sách các thông tin 2. Người dùng chọn thông tin muốn sửa 3. 4. Người dùng sửa theo ý muốn 5. Hệ thống xác nhận thông tin người dùng nhập hay không 6. 7. UC kết thúc. 40
  • 45.
    Hình 2.38 “X ”: UCnày bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa. 1. Hệ thống hiển thị danh sách thông tin của người dùng. 2. Người dùng chọn thông tin muốn xóa 3. Hệ thống hỏi xem người dùng có thực sự muốn xóa 4. Hệ thống xóa thông tin người dùng chọn 5. UC kết thúc. 41
  • 46.
    Hình 2.39 1.9.13. Hình 2.40“Q” “Sửa: -UC này cho phép người dùng sửa khi muốn thay đổi. -Tác nhân: Admin UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi: 1. Hệ thống hiển thị thông tin 2. Người dùng chọn thông tin muốn sửa 42
  • 47.
    3. 4. Người dùngsửa theo ý muốn 5. Hệ thống xác nhận thông tin người dùng nhập hay không 6. 7. UC kết thúc. ”: Hình 2.41” “S ”: -Tác nhân: Admin UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi: 1. 2. 3. 4. Người dùng sửa theo ý muốn 43
  • 48.
    5. 6. 7. UC kếtthúc. Hình 2.42” “Sửa : -Tác nhân: Admin UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi: 1. 2. 3. 4. Người dùng sửa theo ý muốn 5. 6. 44
  • 49.
    7. UC kếtthúc. ”: Hình 2.43” 1.9.14. Hình 2.44“Q” “Thêm : -UC này giúp cho người dùng có thể thêm thông tin -Tác nhân: Admin 1. UC này bắt đầu khi người dùng muốn ghi thông tin vào hệ thống: 2. 45
  • 50.
    3. Người dùngnhập các thông tin mà hệ thống yêu cầu. 4. Hệ thống xác nhận các thông tin mà người dùng đã thêm 5. 6. UC kết thúc. ”: Hình 2.45” “Sửa : -UC này cho phép người dùng sửa thông tin đã ghi khi muốn thay đổi. -Tác nhân: Admin UC này bắt đầu khi người dùng muốn chỉnh sửa thông tin họ đã ghi: 1. Hệ thống hiển thị danh sách các thông tin 2. Người dùng chọn thông tin muốn sửa 3. 4. Người dùng sửa theo ý muốn 5. Hệ thống xác nhận thông tin người dùng nhập hay không 46
  • 51.
    6. 7. UC kếtthúc. ”: Hình 2.46” “Xóa : UC này bắt đầu khi người dùng muốn xóa thông tin không muốn để nữa. 1. Hệ thống hiển thị danh sách thông tin của người dùng. 2. Người dùng chọn thông tin muốn xóa 3. Hệ thống hỏi xem người dùng có thực sự muốn xóa 4. Hệ thống xóa thông tin người dùng chọn 5. UC kết thúc. ”: 47
  • 52.
  • 53.
    1.10. Biểu đồlớp Hình 2.48: Biểu đồ lớp 1.11. Sơ đồ triển khai Hình 2.49: Sơ đồ triển khai hệ thống 49
  • 54.
    1.12. Sơ đồquan hệ thực thể Hình 2.50 Tên Kiểu dữ liệu Chú thích Khóa ID_ChuyenMon int * TenChuyenMon nvarchar(255) Tên chuyên môn ID_NhomCM int ID_TrinhDoNhomCM Int Bảng 1: Bảng DM_CHUYEN_MON Tên Kiểu dữ liệu Chú thích Khóa 50
  • 55.
    MaChucVu nvarchar(50) * TenChucVunvarchar(255) MoTa nvarchar(255) Bảng 2: Bảng DM_CHUC_VU Tên Kiểu dữ liệu Chú thích Khóa ID_BacLuong int * BacLuong nvarchar(10) Bảng 3: Bảng DM_BAC_LUONG Tên Kiểu dữ liệu Chú thích Khóa ID_NgachLuong int * TenNgach nvarchar(255) KiHieu nvarchar(50) ID_BacLuong int GhiChu ntext Bảng 4: Bảng DM_NGACH_LUONG Tên Kiểu dữ liệu Chú thích Khóa ID Int ID * MaDonVi Nvarchar(50) TenDonVi Nvarchar(255) DiaChi Nvarchar(255) Website Nvarchar(50) Website Email Nvarchar(50) Email SoDienThoai Nvarchar(20) SoFax Nvarchar(20) SoFax Bảng 5: Bảng DM_DON_VI Tên Kiểu dữ liệu Chú thích Khóa 51
  • 56.
    ID_CongViec int * ID_NhomCongViecint TenCongViec nvarchar(255) Bảng 6: Bảng DM_CONG_VIEC Tên Kiểu dữ liệu Chú thích Khóa ID_NhomCongViec int * TenNhomCongViec nvarchar(255) Bảng 7: Bảng DM_DAN_TOC Tên Kiểu dữ liệu Chú thích Khóa ID_DanhHieu int * MaNhanVien int NgayPhong nvarchar(10) LoaiDanhHieu nvarchar(255) Bảng 8: Bảng DM_DANH_HIEU Tên Kiểu dữ liệu Chú thích Khóa ID_HinhThuc int * Name nchar(50) Bảng 9: Bảng DM_HINH_THUC Tên Kiểu dữ liệu Chú thích Khóa MaHocHam nvarchar(20) * TenHocHam nvarchar(250) Bảng 14: Bảng DM_HOC_HAM 52
  • 57.
    Tên Kiểu dữliệu Chú thích Khóa MaHocVi nvarchar(20) * TenHocVi nvarchar(250) Bảng 10: Bảng DM_HOC_VI Tên Kiểu dữ liệu Chú thích Khóa ID_LaoDong int * ID_NhomLD int Name nvarchar(255) Bảng 11: Bảng DM_HT_LAO_DONG Tên Kiểu dữ liệu Chú thích Khóa ID_KhenThuong int * Name nvarchar(255) Bảng 12: Bảng DM_KHEN_THUONG Tên Kiểu dữ liệu Chú thích Khóa ID_KyLuat int * Name nvarchar(255) Bảng 19: Bảng DM_KY_LUAT Tên Kiểu dữ liệu Chú thích Khóa ID_DMNgoaiNgu int * Name nvarchar(255) Bảng 13: Bảng DM_NGOAI_NGU 53
  • 58.
    Tên Kiểu dữliệu Chú thích Khóa ID_QuanHe int * Name nvarchar(255) Bảng 14: Bảng DM_QUAN_HE_GD Tên Kiểu dữ liệu Chú thích Khóa ID_TinhTrang int * Name nvarchar(50) Bảng 15: Bảng DM_TINH_TRANG Tên Kiểu dữ liệu Chú thích Khóa ID_TonGiao int * Name nvarchar(255) Bảng 16: Bảng DM_TON_GIAO Tên Kiểu dữ liệu Chú thích Khóa ID_TDTrinhTri int * Name nvarchar(255) Bảng 17: Bảng DM_TRINH_DO_CHINH_TRI Tên Kiểu dữ liệu Chú thích Khóa ID_TDHocVan int * Name nvarchar(255) Bảng 18: Bảng DM_TRINH_DO_HOC_VAN Tên Kiểu dữ liệu Chú thích Khóa ID_XuatThan int * Name nvarchar(255) Bảng 19: Bảng DM_XUAT_THAN_GD Tên Kiểu dữ liệu Chú thích Khóa 54
  • 59.
    ID int ID* MaNhanVien int ID_QuanHe int HoVaTen nvarchar(50) NgaySinh nvarchar(10) DiaChi ntext Bảng 20: Bảng DM_QUAN_HE_GD Tên Kiểu dữ liệu Chú thích Khóa ID int ID * MaCanBo nvarchar(50) HoTen nvarchar(50) NgaySinh nvarchar(10) ID_ChucVu int ID_DonVi int ID_ChuyenMon int SoDienThoai nvarchar(50) Email nvarchar(50) Email DiaChi nvarchar(500) UserName nvarchar(50) PassWord nvarchar(255) PhanQuyen int Bảng 21: Bảng TB_CAN_BO Tên Kiểu dữ liệu Chú thích Khóa MaNhanVien int * SoHieuNV nvarchar(50) TenNhanVien nvarchar(150) TenGoiKhac nvarchar(255) NgaySinh smalldatetime GioiTinh bit 55
  • 60.
    NoiSinh nvarchar(255) Nơisinh QueQuan nvarchar(255) HKThuongTru nvarchar(255) NoiO nvarchar(255) DienThoai nvarchar(255) ID_DanToc int ID_TonGiao int ID_XuatThan int DonViTTD nvarchar(255) NgayVaoLam nvarchar(10) SoHopDong nvarchar(50) ID_HinhThuc int TuNgayHD nvarchar(10) DenNgayHD nvarchar(10) ID_CongViec int MaHocVI nvarchar(20) MaHocHam nvarchar(20) ID_ChuyenMon int Bảng 22: Bảng TB_LY_LICH_NV Tên Kiểu dữ liệu Chú thích Khóa ID int ID * MaNhanVien int ID_KhenThuong int NgayKhen nvarchar(50) Bảng 23: Bảng TB_KHEN_THUONG Tên Kiểu dữ liệu Chú thích Khóa ID int ID * MaNhanVien int 56
  • 61.
    ID_KyLuat int NgayKyLuat nvarchar(50) MaDonVinvarchar(50) LyDo nvarchar(MAX) Bảng 24: Bảng TB_KY_LUAT Tên Kiểu dữ liệu Chú thích Khóa ID_NgoaiNgu int * MaNhanVien int ID_DMNgoaiNgu int ID_NgoaiNguTD int Bảng 25: Bảng TB_NGOAI_NGU Tên Kiểu dữ liệu Chú thích Khóa ID_QT_CongTac int * MaDonVi nvarchar(50) MaNhanVien int TuNgay nvarchar(10) DenNgay nvarchar(10) MaChucVu nvarchar(50) CongViec nvarchar(255) SoQDinh ntext KiemTra int Bảng 26: Bảng TB_QUA_TRINH_CONG_TAC Tên Kiểu dữ liệu Chú thích Khóa ID_QT_HocTap int * MaNhanVien int TuNgay nvarchar(10) 57
  • 62.
    DenNgay nvarchar(10) TenTruong nvarchar(255) NganhHocnvarchar(255) ID_HinhThuc int VanBang nvarchar(255) Bảng 27: Bảng TB_QUA_TRINH_HOC_TAP Tên Kiểu dữ liệu Chú thích Khóa ID_QT_Luong int * MaNhanVien int HeSoLuong nvarchar(10) ID_NgachLuong int NgayThang nvarchar(50) Bảng 28: Bảng TB_QuaTrinhLuong 58
  • 63.
    CHƯƠ 1.13. Visual studio 2012(2013) MySQL Vềhệ thống: Phần cứng: PC bộ vi xử lý pentium III, ram 4GB trở lên , ổ cứng 20GB trở lên. Hệ điều hành: Windown 8 64bit trở lên 1.14. Giao diện trên web brower Hình 3.1: Danh sách nhân viên 59
  • 64.
    Hình 3.2: Danhmục chuyển đơn vị Giao diện trên App Mobile Hình 3.3 : Danh mục hồ sơ nhân viên 60
  • 65.
    Hình 3.4 :Danh mục sửa nhân viên 61
  • 66.
    Hình 3.5 :Danh mục biến động công tác 62
  • 67.
    Hình 3.6 :Danh mục quản trị hệ thống 63
  • 68.
    Đánh giá kếtquả đạt được: - Sau một thời gian khảo sát,nghiên cứu, phân tích, thiết kế và cài đặt thì chương đã có được những kết quả nhất định như: + + + Tuy nhiên, Đây là hệ thống đòi hỏi xử lý kỹ thuật cao, thời gian ngắn và kinh nghiệm của em còn hạn chế. Do đó, hệ thống vẫn còn hạn chế như: + Tính hiệu suất của hệ thống chưa được cao. + Chưa có chức năng mở rộng + Hướng phát triển: Mặc dù còn nhiều hạn chế, song em sẽ cố gắng khắc phục các hạn chế đó. Đồng thời sẽ mở rộng hệ thống để có thêm các chức năng tiện ích, phục vụ tốt hơn cho người dùng. Nâng cao chức năng hệ thống mở rộng và nâng cấp chương trình ngày hoàn thiện hơn Em hy vọng hệ thống của em sẽ được hoàn thiện và đưa vào sử dụng trong thời gian sớm nhất, để có thể góp phần tiết kiệm thời gian, công sức cho các thầy cô,các bạn sinh viên,... Em rất mong nhận được những đóng góp quý báu từ phía thầy cô và các bạn ! Em xin chân thành cảm ơn. 64
  • 69.
    [1] Windows Phone8 Development Internals – Andrew Whitechapel, Sean McKenna [2] Pro Windows Phone App Development, 3rd Edition – Ken Cenerelli [3] Beginning windows phone app development – Henry Lee – Eugene Chuvyrov [4] Windows Phone 8 – Development for absolute beginners – Bob Tabor, Clint Rutkas, Larry Lieberman [5] Windows Phone 8 Recipes – Lori Lalonde and David R.Totzke [6] Windows 8 and Windows Phone 8 Game Development – Adam Dawes [7] http://www.winphoneviet.com/forum/index.php?threads/1250/ [8]http://channel9.msdn.com/Series/Windows-Phone-8-Development-for- Absolute-Beginners/Part-1-Series-Introduction?wt.mc_id=EntriesInArea 65
  • 70.
    NHẬN XÉT CỦAGIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Thái Nguyên, ngày tháng năm 2015 Giáo viên hướng dẫn 66