1. Trang chủ
  2. » Công Nghệ Thông Tin

Xây dựng ứng dụng trao đổi thông tin cho công ty TNHH ngọc thọ

62 224 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 1,26 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

với sự ứng dụng rộng rãi của côngnghệ thông tin vào cuộc sống thì giờ đây trao đổi thông tin không cần phân biệtkhoảng cách địa lí ,không cần gặp nhau trực tiếp mà vẫn có thể trao đổi th

Trang 1

LỜI CẢM ƠN

Lời đầu tiên em xin chân thành cảm ơn tới các Thầy, Cô trong ban lãnh đạo Đại học Công nghệ thông tin và Truyền thông đã tạo điều kiện cho em để hoàn thành đồ án tốt nghiệp này

Em xin gửi lời cảm ơn chân thành tới các Thầy, các Cô trong bộ môn Mạng và Truyền thông đã tạo điều kiện cơ sở vật chất, tài liệu cần thiết giúp em hoàn thành đồ án tốt nghiệp này

Em xin chân thành cảm ơn thầy Trịnh Văn Hà đã nhận hướng dẫn em thựchiện đồ án Trong quá trình thực hiện đồ án thầy đã tận tình hướng dẫn, chỉ bảo, cung cấp các tài liệu cần thiết giúp em hoàn thành đồ án tốt nghiệp này

Em xin chân thành gửi lời cảm ơn tới các cán bộ làm việc tại Công Ty Trách Nhiệm Hữu Hạn Ngọc Thọ đã tạo điều kiện cơ sở vật chất, tận tình hướng dẫn chỉ bảo, đem lại nhiều kiến thức quý báu cho bản thân em trong đợt thực tập tốt nghiệp

Một lần nữa em xin chân thành gửi lời cảm ơn tới toàn thể các Anh, Chị các Thầy, Cô đã tạo điều kiện tốt nhất và giúp đỡ em hoàn thành đồ án tốt nghiệpnày

Em xin chân thành cảm ơn!

Thái Nguyên tháng 06 năm 2012 Sinh viên thực hiện:

Trang 2

LỜI CAM ĐOAN

Em xin cam đoan về nội dung của đồ án tốt nghiệp với tên đề tài : “ Xây dựng ứng dụng Trao đổi thông tin cho công ty trách nhiệm hữu hạn Ngọc Thọ

” là không sao chép nội dung cơ bản từ các đồ án khác, hay sản phẩm tương tự không phải do em làm ra Sản phẩm đồ án là do chính bản thân em nghiên cứu vàxây dựng

Nếu sai em xin chịu mọi hình thức kỷ luật của trường Đại học Công nghệ thông tin và Truyền thông

Thái Nguyên tháng 06 năm 2012

Sinh viên thực hiện:

Đỗ Tiến Dũng

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

DANH MỤC HÌNH VẼ 5

LỜI MỞ ĐẦU 7

CHƯƠNG I 8

TỔNG QUAN VỀ LẬP TRÌNH MẠNG 8

1.1 Mô Hình Tham chiếu OSI 8

1.2 Giao thức TCP/IP 11

1.3 Địa chỉ IP 12

1.4 Tổng Quan Về C# 13

1.4.1 Cơ bản về Net Franework 13

1.4.2 Các thành phần của NET Framework 13

1.4.3 Các tính năng cơ bản của ngôn ngữ lập trình C# 14

1.4.4 Các lợi ích của C# 14

1.5 Giới thiệu về lập trình Socket 14

1.6 Mô Hình Client/Server 16

1.6.1 Tổng quan 16

1.6.2 Giao thức cho ứng dụng Client/Server 19

CHƯƠNG II 22

PHÂN TÍCH - THIẾT KẾ HỆ THỐNG TRAO ĐỔI THÔNG TIN CHO CÔNG TY TNHH NGỌC THỌ 22

2.1 Khảo sát hệ thống 22

2.1.1 Bộ máy tổ chức 22

2.1.2 Yêu cầu của hệ thống 23

2.2 Mục đích, yêu cầu: 24

2.3 Phân tích – thiết kế phần mềm trao đổi thông tin 25

2.3.1 Các tác nhân của hệ thống: 25

2.3.2 Các UC của hệ thống: 25

Trang 4

2.3.3 Biểu đồ UC của hệ thống: 26

2.3.4 Kịch bản cho các Use – Case: 29

2.3.5 Biểu đồ trình tự và cộng tác cho các UC chính: 39

2.3.6 Biểu đồ lớp: 50

2.3.7 Sơ đồ cơ sở dữ liệu: 51

CHƯƠNG III 52

XÂY DỰNG PHẦN MỀM TRAO ĐỔI THÔNG TIN CHO CÔNG TY TNHH NGỌC THỌ 52

3.1 Cài đặt : 52

3.2 Hình ảnh Demo: 52

KẾT LUẬN 59

TÀI LIỆU THAM KHẢO 61

Trang 5

DANH MỤC HÌNH VẼ

Hình 1 Mô hình OSI 8

Hình 2 Mô hình TCP/IP 11

Hình 3 Các giao thức trong lập trình Socket 15

Hình 4 Sơ Đồ Tổ Chức 22

Hình 5 Biểu đồ UC tổng quát 26

Hình 6 Biểu đồ UC chat group 27

Hình 7 Biểu đồ UC chat 2 người 27

Hình 8 Biểu đồ UC quản lý lịch sử chat (Manage history chat) 28

Hình 9 Biểu đồ UC cho admin 28

Hình 10 Biểu đồ trình tự cho UC “đăng nhập” 39

Hình 11 Biểu đồ cộng tác cho UC “đăng nhập” 40

Hình 12 Biểu đồ trình tự cho UC “đăng ký” 40

Hình 13 Biểu đồ cộng tác cho UC “đăng ký” 41

Hình 14 Biểu đồ trinh tự UC “gửi tin nhắn” 41

Hình 15 Biểu đồ cộng tác cho UC” gửi tin nhắn” 42

Hình 16 Biểu đồ trình tự cho UC “Thêm bạn bè” 42

Hình 27 Biểu đồ cộng tác cho UC “Thêm bạn bè” 43

Hình 18 Biểu đồ trình tự cho UC “Xóa bạn bè” 43

Hình 19 Biểu đồ cộng tác cho UC “ xóa bạn bè” 44

Hình 20 Biểu đồ trình tự cho UC “chat 2 nguoi” 44

Hình 21 Biểu đồ cộng tác cho UC “ chat 2 nguoi” 45

Hình 22 Biểu đồ trình tự cho UC “chat nhóm” 45

Hình 23 Biểu đồ cộng tá cho UC “ chat nhóm” 46

Hình 24 Biểu đồ trình tự cho UC “tìm kiếm liên lạc” 46

Hình 25 Biểu đồ cộng tác cho UC “tìm kiếm liên lạc” 47

Hình 26 Biểu đồ trình tự cho UC “ Tham gia phòng chát” 47

Hình 27 Biểu đồ cộng tác cho UC “Tham gia phòng chat” 48

Hình 28 Biểu đồ trình tự cho UC “ Thay đổi tên hiển thị” 48

Hình 29 Biểu đồ cộng tác cho UC “ Thay đổi tên hiển thị” 49

Trang 6

Hình 30 Biểu đồ lớp 50

Hình 31 Sơ đồ cơ sở dữ liệu 51

Hình 32 Giao diện server 52

Hình 33 Giao diện Tổng quan 53

Hình 34 Giao diện đăng nhập hệ thống 53

Hình 35 Giao diện thay thiết lập mạng 54

Hình 36 Giao diện chính 55

Hình 37 Giao diện thêm bạn bè vào danh bạ 55

Hình 38 Giao diện xóa bạn bè 56

Hình 39 Giao diện trao đổi giữa cấp dưới với cấp trên hoặc cấp dưới với nhau56 Hình 40 trao đổi giữa cấp trên và cấp dưới 57

Hình 41 Lịch sử trao đổi 57

Hình 42 Giao diện họp nhóm 58

Hình 43 Giao diện chat video 58

Trang 7

LỜI MỞ ĐẦU

Trong cuộc sống từ xa xưa , con người luôn có nhu cầu trao đổi với nhaunhững tâm tư , tình cảm,những kinh nghiệm đấu tranh sinh tồn …có nghĩa lànhu cầu về thông tin (information) tức là trao đổi tin tức với nhau.Chính sự traođổi thông tin đó đã tạo nên một xã hội hoàn chỉnh.Ngày nay với sự bùng nổ củacông nghệ thông tin , sự phát triển của xã hội làm cho sự trao đổi thông tin đượcthuận tiện và nhanh chóng hơn, trước kia con người muốn trao đổi thông tin vớinhau thì mọi người phải gặp nhau trực tiếp, nhưng giờ đây sự trao đổi thông tinkhông chỉ đơn thuần là gặp mặt trực tiếp với sự ứng dụng rộng rãi của côngnghệ thông tin vào cuộc sống thì giờ đây trao đổi thông tin không cần phân biệtkhoảng cách địa lí ,không cần gặp nhau trực tiếp mà vẫn có thể trao đổi thông tinvới nhau.Nhưng chính do không cần tin phân biệt địa lí đó đã nảy sinh một sốvấn đề đó là thông tin không được giữ bí mật và có thể mất mát bất cứ lúc nào.Ngày nay cùng với sự phát triển của công nghệ thông tin , các công ty, xínghiệp đã áp dụng công nghệ vào trong quá trình buôn bán sản xuất của họ như

tổ chức các hội nghị, buổi họp vv

Chính vì những lí do trên em đã chọn đề tài “ Xây Dựng Ứng Dụng Trao Đổi Thông tin Cho Công Ty TNHH Ngọc Thọ” nội dung đề tài bao gồm: CHƯƠNG I: Tổng Quan Về Lập Trình Mạng

Trong chương trình bày khái quát về lập trình mạng cũng như các ngônngữ trong lập trình mạng

CHƯƠNG II: Phân tích – Thiết kế hệ thống trao đổi thông tin Cho Công ty TNHH Ngọc Thọ

Trong chương trình bày quá trình khảo sát , phân tích , thiết kế ứng dụng

CHƯƠNG III: Xây dựng phần mềm trao đổi thông tin Cho Công ty TNHH Ngọc Thọ

Trong chương trình bày cách cài đặt phần mềm và một số hình ảnh demo

Trang 8

CHƯƠNG I TỔNG QUAN VỀ LẬP TRÌNH MẠNG 1.1 Mô Hình Tham chiếu OSI

+ Mô hình tham chiếu OSI được chia thành bảy lớp với các chức năng sau:

Lớp ứng dụng (Application Layer): là giao diện giữa các chương trình ứng

dụng của người dùng và mạng Lớp Application xử lý truy nhập mạng chung,kiểm soát luồng và phục hồi lỗi Lớp này không cung cấp các dịch vụ cho lớpnào mà nó cung cấp dịch vụ cho các ứng dụng như: truyền file, gởi nhận E-mail,Telnet, HTTP, FTP, SMTP…

Lớp trình diễn (Presentation Layer): lớp này chịu trách nhiệm thương

lượng và xác lập dạng thức dữ liệu được trao đổi Nó đảm bảo thông tin mà lớpứng dụng của một hệ thống đầu cuối gởi đi, lớp ứng dụng của hệ thống khác có

Trang 9

thể đọc được Lớp trình bày thông dịch giữa nhiều dạng dữ liệu khác nhau thôngqua một dạng chung, đồng thời nó cũng nén và giải nén dữ liệu.

Lớp phiên (Session Layer): lớp này có chức năng thiết lập, quản lý, và kết

thúc các phiên thông tin giữa hai thiết bị truyền nhận Lớp phiên cung cấp cácdịch vụ cho lớp trình bày Lớp Session cung cấp sự đồng bộ hóa giữa các tác vụngười dùng bằng cách đặt những điểm kiểm tra vào luồng dữ liệu Bằng cáchnày, nếu mạng không hoạt động thì chỉ có dữ liệu truyền sau điểm kiểm tra cuốicùng mới phải truyền lại Lớp này cũng thi hành kiểm soát hội thoại giữa các quátrình giao tiếp, điều chỉnh bên nào truyền, khi nào, trong bao lâu Ví dụ như:RPC, NFS, Lớp này kết nối theo ba cách: Haft duplex,Simplex, Full-duplex

Lớp vận chuyển (Transport Layer): lớp vận chuyển phân đoạn dữ liệu từ

hệ thống máy truyền và tái thiết lập dữ liệu vào một luồng dữ liệu tại hệ thốngmáy nhận đảm bảo rằng việc bàn giao các thông điệp giữa các thiết bị đáng tincậy Dữ liệu tại lớp này gọi là segment

Lớp này thiết lập, duy trì và kết thúc các mạch ảo đảm bảo cung cấp cácdịch vụ sau:

 Xếp thứ tự các phân đoạn: khi một thông điệp lớn được tách thànhnhiều phân đoạn nhỏ để bàn giao, lớp vận chuyển sẽ sắp xếp thứ tự cácphân đoạn trước khi ráp nối các phân đoạn thành thông điệp ban đầu

 Kiểm soát lỗi: khi có phân đoạn bị thất bại, sai hoặc trùng lắp, lớpvận chuyển sẽ yêu cầu truyền lại

 Kiểm soát luồng: lớp vận chuyển dùng các tín hiệu báo nhận để xácnhận Bên gửi sẽ không truyền đi phân đoạn dữ liệu kế tiếp nếu bên nhậnchưa gởi tín hiệu xác nhận rằng đã nhận được phân đoạn dữ liệu trước đóđầy đủ

Lớp mạng (Network Layer): lớp mạng chịu trách nhiệm lập địa chỉ các

thông điệp, diễn dịch địa chỉ và tên logic thành địa chỉ vật lý đồng thời nó cũngchịu trách nhiệm gởi packet từ mạng nguồn đến mạng đích Lớp này quyết địnhđường đi từ máy tính nguồn đến máy tính đích Nó quyết định dữ liệu sẽ truyềntrên đường nào dựa vào tình trạng, ưu tiên dịch vụ và các yếu tố khác Nó cũng

Trang 10

quản lý lưu lượng trên mạng chẳng hạn như chuyển đổi gói, định tuyến, và kiểmsoát sự tắc nghẽn dữ liệu.Dữ liệu ở lớp này gọi packet hoặc datagram.

Lớp liên kết dữ liệu (Data link Layer): cung cấp khả năng chuyển dữ liệu

tin cậy xuyên qua một liên kết vật lý Lớp này liên quan đến:

 Cơ chế truy cập đường truyền

Tại lớp data link, các bít đến từ lớp vật lý được chuyển thành các frame dữliệu bằng cách dùng một số nghi thức tại lớp này Lớp data link được chia thànhhai lớp con:

 Lớp con LLC (logical link control)

 Lớp con MAC (media access control)

Lớp con LLC là phần trên so với các giao thức truy cập đường truyền

khác, nó cung cấp sự mềm dẻo về giao tiếp Bởi vì lớp con LLC hoạt động độclập với các giao thức truy cập đường truyền, cho nên các giao thức lớp trên hơn(ví dụ như IP ở lớp mạng) có thể hoạt động mà không phụ thuộc vào loại phươngtiện LAN Lớp con LLC có thể lệ thuộc vào các lớp thấp hơn trong việc cung cấptruy cập đường truyền Lớp con MAC cung cấp tính thứ tự truy cập vào môitrường LAN Khi nhiều trạm cùng truy cập chia sẻ môi trường truyền, để địnhdanh mỗi trạm, lớp cho MAC định nghĩa một trường địa chỉ phần cứng, gọi là địachỉ MAC address

Địa chỉ MAC là một con số đơn nhất đối với mỗi giao tiếp LAN (cardmạng) Lớp vật lý (Physical Layer): định nghĩa các qui cách về điện, cơ, thủ tục

và các đặc tả chức năng để kích hoạt, duy trì và dừng một liên kết vật lý giữa các

hệ thống đầu cuối

Trang 11

Lớp vật lý(physical): Lớp vật lý bao gồm việc truyền tải các tín hiệu trong

môi trường từ máy tính này đến máy tính khác Lớp này gồm có các chi tiết kỹthuật về các đặc tính điện và cơ như: mức điện áp, định thời tín hiệu, tốc độ dữliệu, độ dài truyền tải lớn nhất và các kết nối vật lý của thiết bị mạng Để mộtthiết bị hoạt động chỉ trong lớp vật lý, nó sẽ không có bất kỳ kiến thức nào về dữliệu mà nó truyền tải Một thiết bị lớp vật lý chỉ truyền tải hoặc nhận dữ liệu một

và IP (Internet Protocol) Chúng đã nhanh chóng được đón nhận và phát triển bởinhiều nhà nghiên cứu và các hãng công nghiệp máy tính với mục đích xây dựng

và phát triển một mạng truyền thông mở rộng khắp thế giới mà ngày nay chúng

ta gọi là Internet

Trang 12

TCP/IP có cấu trúc tương tự như mô hình OSI, tuy nhiên để đảm bảo tínhtương thích giữa các mạng và sự tin cậy của việc truyền thông tin trên mạng, bộgiao thức TCP/IP được chia thành 2 phần riêng biệt: giao thức IP sử dụng choviệc kết nối mạng và giao thức TCP để đảm bảo việc truyền dữ liệu một cách tincậy.

1.3 Địa chỉ IP

Mỗi địa chỉ IP có độ dài 32 bits (đối với IP4) được tách thành 4 vùng (mỗivùng 1 byte), có thể được biểu thị dưới dạng thập phân, bát phân, thập lục phânhoặc nhị phân Cách viết phổ biến nhất là dùng ký pháp thập phân có dấu chấm

để tách giữa các vùng Địa chỉ IP là để định danh duy nhất cho một host bất kỳtrên liên mạng Khuôn dạng địa chỉ IP: mỗi host trên mạng TCP/IP được địnhdanh duy nhất bởi một địa chỉ có khuôn dạng <Network Number, Host number>

Do tổ chức và độ lớn của các mạng con của liên mạng có thể khác nhau,người ta chia các địa chỉ IP thành 5 lớp ký hiệu A,B,C, D, E Các bit đầu tiên củabyte đầu tiên được dùng để định danh lớp địa chỉ (0-lớp A; 10 lớp B; 110 lớp C;

1110 lớp D; 11110 lớp E)

Trong nhiều trường hợp, một mạng có thể được chia thành nhiều mạngcon(subnet), lúc đó có thể đưa thêm các vùng subnet number để định danh cácmạng con Vùng subnet number được lấy từ vùng host number, cụ thể đối với 3lớp A, B, C

Trang 13

1.4 Tổng Quan Về C#

1.4.1 Cơ bản về Net Franework

NET Framework là một thành phần cơ bản của Windows cho việc xâydựng và chạy các ứng dụng viết bởi các ngôn ngữ lập trình mới (ứng dụng thế hệ

kế tiếp)

NET Framework được thiết kế để:

 Cung cấp một môi trường nhất quán cho lập trình hướng đối tượng

 Tối ưu hóa việc phát triển phần mềm và sự xung đột phiên bản bằngviệc cung cấp một môi trường thực hiện code

 Cung cấp môi trường thực thi code an toàn hơn

 Cung cấp trải nghiệm (experience) nhất quán cho những người pháttriển trong việc tạo ra các kiểu ứng dụng khác nhau từ các ứng dụngtrên nền tảng Windows, các ứng dụng trên nền tảng Web cho đến cácứng dụng trên nền tảng thiết bị di động, các ứng dụng nhúng…

1.4.2 Các thành phần của NET Framework

NET Framework bao gồm 2 thành phần chính:

+ CLR (Common Language Runtime – Môi trường quản lý ngôn ngữ chung):đây là thành phần cốt lỗi (xương sống – backbone) của NET Framework thựchiện các chức năng sau:

 Quản lý bộ nhớ

 Thực hiện code

 Xử lý lỗi

 Xác nhận sự an toàn

+ Framework Class Library (FCL): là một tập hợp các kiểu dữ liệu có khả năng

sử dụng lại (tập hợp các lớp) và hướng đối tượng hoàn toàn, được sử dụng đểphát triển các ứng dụng từ những ứng dụng dòng lệnh truyền thống cho đếnnhững ứng dụng với giao diện đồ họa

Trang 14

1.4.3 Các tính năng cơ bản của ngôn ngữ lập trình C#

+ C# là một ngôn ngữ lập trình hướng đối tượng thuần túy (pure object oriented programming) Kiểm tra an toàn kiểu

+ Thu gom rác tự động: giảm bớt gánh nặng cho người lập trình viên trong việcphải viết các đoạn code thực hiện cấp phát và giải phóng bộ nhớ

+ Hỗ trợ các chuẩn hóa được ra bởi tổ chức ECMA (European ComputerManufactures Association)

+ Hỗ trợ các phương thức và các kiểu phổ quát (chung)

1.4.4 Các lợi ích của C#

+ Cross Language Support: hỗ trợ khả năng chuyển đổi dễ dàng giữa các ngônngữ

+ Hỗ trợ các giao thức Internet chung

+ Triển khai đơn giản

+ Hỗ trợ tài liệu XML: các chú thích XML có thể được thêm vào các đoạn code

và sau đó có thể được chiết xuất để làm tài liệu cho các đoạn code để cho phépcác lập trình viên khi sử dụng biết được ý của các đoạn code đã viết

1.5 Giới thiệu về lập trình Socket

Sockets cung cấp một interface để lập trình mạng tại tầng Transport Mộtsocket là một end-point của một liên kết giữa hai ứng dụng Ngày nay, Socketđược hỗ trợ trong hầu hết các hệ điều hành như MS Windows (WinSock), Linux

và được sử dụng trong nhiều ngôn ngữ lập trình khác nhau: như C, C++, Java,Visual Basic, C#,

Windows Socket Application Programming Interface (Winsock API) làmột thư viện các hàm socket Winsock hỗ trợ các lập trình viên xây dựng cácứng dụng mạng trên nền TCP/IP

Là giao diện lập trình ứng dụng (API), giao diện giữa chương trình ứngdụng với lớp mạng trong hệ thống mạng TCP/IP.Thông qua giao diện này chúng

ta có thể lập trình điều khiển việc truyền thông giữa hai máy sử dụng các giaothức mức thấp làTCP,UDP…

Trang 15

Thiết lập các lập kênh giao tiếp với mỗi đầu kênh được đánh dấu bằngmột cổng Dữ liệu có thể đi vào và ra khỏi kênh giao tiếp thông qua cổng này.+ Cơ chế giao tiếp:

 Một trong hai quá trình phải công bố số hiệu cổng của socket mà mình sử dụng để nhận và gởi dữ liệu

 Các quá trình khác có thể giao tiếp với quá trình đã công bố cổng cũng bằng cách tạo ra một socket

+ Các loại socket:

 Socket hướng kết nối (TCP Socket)

 Socket không hướng kết nối (UDP Socket)

Hình 3 Các giao thức trong lập trình Socket

Trang 16

1.6 Mô Hình Client/Server

1.6.1 Tổng quan

Trong nhiều năm gần đây, thuật ngữ client/server đã trở nên phổ biếntrong lĩnh vực công nghệ thông tin Các công ty xem client/server như là một môhình công nghệ mang tính cách mạng để trợ giúp cho việc quản lý và điều hànhcác hoạt động của công ty

Nhiều năm trước, khi các máy tính lớn mainframe của IBM còn thống trịtrong các lĩnh vực điện toán, một cách tiếp cận mới công nghệ mạng máy tínhvới tên gọi “client/server” đã xuất hiện vào đầu thập niên 80 và nhanh chóngphổ biến Đến cuối thập niên 80, các mô hình client/server thật sự được chấpnhận và đã xuất hiện các ứng dụng đầu tiên Ngày nay, “client/server” đã trởnên thông dụng và phổ biến đến mức hầu hết các ứng dụng mạng đềudựa trên nguyên tắc client/server Mô hình này đã được chứng minh làphương pháp hiệu quả về chi phí khi xây dựng nhiều loại mạng và dịch vụmạng, đặc biệt đối với mạng LAN ( PCs ) chạy các ứng dụng end-user database

+ Khái Niệm

Client/server là dạng phổ biến của mô hình ứng dụng phân tán trong đóphần mềm được chia thành các tiến trình client và các tiến trình server Mộtclient sẽ gửi yêu cầu cho một server theo một giao thức định sẵn (để server có thểhiểu được yêu cầu của client), để lấy thông tin hoặc chỉ thị server thực hiện mộttác vụ nào đó Sau khi thực hiện xong yêu cầu của client, server sẽ trả lời

+ Đặc trưng của mô hình

Trong kiến trúc Client/Server, client, chương trình đại diện cho ngườidùng đang cần các dịch vụ tài nguyên tính toán, và server, chương trình cung cấpcác dịch vụ, là các đối tượng logic riêng rẽ tách biệt trao đổi, tương tác với nhauqua một một mạng máy tính truyền thông để cùng nhau thực hiện một tác vụ nào

đó Client tạo một yêu cầu dịch vụ và nhận được kết quả trả lời cho dịch vụ đó.Server sẽ nhận và xử lí các yêu cầu từ client, sau đó gửi trả lại Mô hình cónhững đặc trưng sau:

Trang 17

 Giao thức bất đối xứng: thể hiện ở quan hệ một-nhiều giữa các client vàmột server Client luôn bắt đầu phiên hội thoại bằng cách yêu cầu dịch vụ.Server luôn sẵn sàng chờ những yêu cầu từ client.

 Đóng gói dịch vụ (Encapsulation of service): Server như một chuyên gia,luôn biết làm thế nào để hoàn thành tác vụ đáp ứng lại các yêu cầu từclient Server có thể được nâng cấp mà không ảnh hưởng đến client (tấtnhiên là thông điệp trao đổi giữa hai bên không đổi và cả hai cùng hiểunhau)

 Tính toàn vẹn : Mã và dữ liệu đối với một server được bảo trì tập trung đểgiảm chi phí bảo trì và bảo vệ sự toàn vẹn của các dữ liệu chung (đượcchia sẻ giữa các server) Trong khi đó, client duy trì tính chất cá nhân vàđộc lập

 Trong suốt định vị : Server là một tiến trình chạy trên cùng một máy vớiclient hoặc trên một máy khác trong hệ thống mạng Các phần mềmclient/server thường ẩn vị trí của server đối với client bằng cách chuyểnhướng các yêu cầu dịch vụ Một chương trình có thể là server hoặc đồngthời cả hai

 Trao đổi dựa trên thông điệp (message-based): client yêu cầu dịch vụ vàserver trả lời đều qua các message

Tính modun, và khả năng điều chỉnh thích hợp: Một ứng dụngClient/Server được thiết kế gồm nhiều modun Mục đích là để :

 Chia để trị : một ứng dụng lớn được chia thành các modun nhỏ hơn làmcho việc thiết kế, phát triển và bảo trì trở nên đơn giản hơn

 Khả năng chịu lỗi : lỗi xảy ra ở một modun nào đó không làm sập toàn bộ

hệ thống Cơ chế chia tải (workload sharing) và dự phòng (redundancy)cũng làm tăng độ tin cậy

 Khả năng điều chỉnh : ứng dụng có thể đáp ứng tự động đối với sự tănghay giảm của tải hệ thống bằng cách thêm vào hoặc tắt bớt các server vàdịch vụ trong hệ thống

Trang 18

Tính không phụ thuộc nền tảng hệ thống: một ứng dụng client/server lítưởng là phải có khả năng không phụ thuộc nền tảng phần cứng và hệ điều hành,cho phép sử dụng nhiều platform với client/server

Tính co giãn (mở rộng hoặc thu hẹp): Hệ thống client/server có thể cogiãn theo chiều ngang và chiều dọc Co giãn theo chiều ngang nghĩa là có thểthêm hay bớt các máy trạm client với ảnh hưởng vê hiệu năng tương đối nhỏ Cogiãn theo chiều dọc nghĩa là chuyển dịch vụ sang server mạnh hơn hoặc bổ sungthêm máy server

Tách biệt chức năng giữa client và server: hai bên đảm nhận chức năngriêng

Chia sẻ tài nguyên : Một server có thể cung cấp dịch vụ cho nhiều clienttại một thời điểm Server cũng điều phối truy nhập của client đến các các tàinguyên dùng chung

+ Ưu điểm của mô hình

Client/server được phát triển với mục đích cho phép nhiều người dùngcùng chia sẻ truy nhập đến các dịch vụ hay ứng dụng database So sánh vớimainframe, client/server đem lại khả năng mở rộng tốt hơn vì có thể tạo thêm cáckết nối theo nhu cầu sử dụng mà không cần phải sử dụng thêm hard-wired Mô hình client/server cũng hỗ trợ các ứng dụng được modun hóa Trongtừng trường hợp, một phần mềm ứng dụng được chia thành nhiều modun, mỗimodun được cài đặt trên các hệ thống phần cứng khác nhau được chuyên biệt hóacho hệ thống modun đó, được gọi là mô hình client/server “hai lớp” hoặc “balớp”

Vì Server có thể tập trung hoặc phân tán trên nhiều máy, cho phép client

và server có thể đặt tách biệt trên nhiều node trong mạng, mỗi node là một hệthống máy tính độc lập, có cấu hình phần cứng, hệ điều hành , phần mềm khácnhau để phù hợp với tính năng và nhiệm vụ của nó

Tóm lại, mục đích của client/server là để nâng cao tính dễ sử dụng(usability), tính thích nghi linh hoạt (flexibility), tính trao đổi tương tác(interoperability) và tính co giãn (scalability) của một hệ thống tính toán

Trang 19

+ Nhược điểm

Một vấn đề được quan tâm đặc biệt trong mô hình client/server là quản trị

hệ thống Khi các ứng dụng được phân bố trên toàn hệ thống mạng, sẽ rất khókhăn để duy trì thông tin cấu hình luôn cập nhật và nhất quán giữa tất cả các thiết

bị Tương tự, nâng cấp một phiên bản mới của ứng dụng client/server rất khóđồng bộ Cuối cùng, một hệ thống client/server phụ thuộc rất nhiều và độ tin cậycủa mạng, nâng cao tính dự phòng và các tính năng chịu lỗi có thể làm tăng chiphí triển khai hệ thống

Chi phí đầu tư cho việc thiết kế, cài đặt, quản trị và bảo trì là rất lớn.Ngoài ra, những kĩ sư hệ thống và người quản trị phải đối mặt với các vấn đề hócbúa như sự tương tác trong hệ thống, tính tương thích của các thành phần cũngnhư việc cấu hình hệ thống

1.6.2 Giao thức cho ứng dụng Client/Server

Giao thức ở đây là bộ các khuôn dạng bản tin, tập trạng thái và các quytắc, quy ước trong truyền thông giữa client và server

Khi tạo ra một ứng dụng client/server, việc đầu tiên là phải thiết kế giaothức May mắn cho chúng ta là các giao thức phổ biến như FTP, HTTP, SMTP,RPC đều đã đươc IETF (nằm trong Internet Architecture Board-IAB) chuẩnhóa thành các giao thức chuẩn Các chuẩn này được được đưa trong khuyến nghịcủa IAB gọi là RFC (Request for Comment) Mỗi một chuẩn hoặc một giao thứccho Internet đều được đánh số trong RFC

Khi lập trình database theo mô hình client/server, giao thức trao đổi cáccâu truy vấn và tập các bản ghi đã được quy định và hỗ trợ bởi hệ quản trịDatabase DBMS và các thư viện lập trình Do đó, ta cũng không phải quan tâmthiết kế giao thức truyền thông trong ứng dụng database Khi lập trình sẽ có sẵncác giao diện giúp ta thực thi việc tương tác giữa Client và Database server.Trong môi trường 3 lớp, thì lớp Middleware ở giữa cũng sẽ cung cấp giao diện

để thực thi việc gọi hàm từ xa (Remote Procedure Call-RPC) Đây là một kĩ thuậtcho phép các ứng dụng client server tương tác với nhau bằng phương pháp gọihàm thông thường Nó cung cấp giao diện gọi hàm mà che đi công tác truyền

Trang 20

thông client server và việc truyền thông là trong suốt đối với người lập trình Kĩthuật này sẽ được trình bày trong phần sau.

Nói chung là ta nên theo các giao thức chuẩn có sẵn cho mỗi ứng dụngphổ biến Tuy nhiên, khi xây dựng một ứng dụng riêng chưa có giao thức chuẩnthì ta phải thiết kế giao thức

+ Phân loại giao thức:Có thể chia giao thức thành 2 dạng cơ bản :

Giao thức đồng bộ (Synchronous Protocol)

 Trong dạng giao thức này, quá trình truyền thông giữa client và serverdiễn ra theo hai chiều nhưng không đồng thời mà được thực hiện lần lượt.Mỗi bên sau khi truyền dữ liệu hoặc thông báo cho bên kia sẽ ngừng lại đểchờ bên kia gửi sang

 Ví dụ về các giao thức kiểu này là : HTTP, POP, SMTP

Giao thức không đồng bộ (Asynchronous Protocol)

 Đối với giao thức dạng không đồng bộ, client và server có thể đồng thờigửi thông tin cho nhau mà không cần phải chờ đợi phản hồi của bên kia

 Các giao thức này thường là các giao thức stateless như TELNET,RLOGIN

Ngoài ra có thể có dạng giao thức hybrid là sự kết hợp của hai dạng giaothức đồng bộ và không đồng bộ

+ Các yêu cầu đối với giao thức

Việc thiết kế được một giao thức tốt là rất khó khăn và phải đáp ứng các yêu cầu

cơ bản sau:

Rõ ràng (well-defined)

 Trong mỗi dạng bản tin được truyền đi, mọi trường dữ liệu phải được địnhnghĩa trong giao thức - rõ ràng về kích thước, ý nghĩa, các trường hợp liênquan đến từng bit

 Giao thức chính là ngôn ngữ, do đó đòi hỏi phải chính xác, không có sựnhập nhằng

 Sử dụng các phương pháp diễn tả mang tính hình thức (common formaldecscription) như dạng BNF (trong automata)

Trang 21

 Nếu sử dụng các ngôn ngữ mô tả thì dạng ngôn ngữ đó cũng phải đượctrình bày trong tài liệu giao thức (để người đọc có thể hiểu được)

 Nên sử dụng các ví dụ minh họa cho giao thức

Đầy đủ (bao hết mọi khả năng có thể), là các vấn đề sau:

 Dữ liệu hỏng, không hợp lệ (khuôn dạng, kích thước, tránh tràn bộ đệm)Các phiên bản cũ (tương thích) Ví dụ, một client phiên bản proto là 1.0kết nối với server phiên bản 1.2

 Các yêu cầu không hợp lệ Lệnh sai hoặc tham số sai hoặc trình tự yêu cầukhông đúng quy tắc, hoặc lệnh không được phép

 Các điều kiện giới hạn Kiểm tra một số điều kiện nào đó trước khi tiếnhành bước tiếp theo Ví dụ, kiểm tra tính xác thực, kiểm tra điều kiện chophép

 Có thể phân tích cú pháp trong các bản tin

Một số vấn đề khác khi thiết kế và triển khai giao thức

 Khả năng mở rộng và tương thích giữa các version

 Thứ tự byte

 Giao thức là hướng kí tự hay hướng bi

 Tính hiệu quả : Đồng bộ và không đồng bộ Thông tin điều khiển, headerThời gian trễ round trip

 Trạng thái :Ai đọc, ai ghi (ai truyền, ai nhận)

 Timeout : Đây là vấn đề không thể thiếu đối với ứng dụng mạng do tínhbiến động và không biết trước của trạng thái mạng

Trang 22

CHƯƠNG II PHÂN TÍCH - THIẾT KẾ HỆ THỐNG TRAO ĐỔI THÔNG TIN CHO

Phòng Nhân Sự

+ Giám Đốc : Điều hành toàn bộ hoạt động của công ty như xem xét , phê duyệt

ý kiến các phòng ban đề nghị giải quyết tất cả các công việc liên quan đến công ty

+ Phòng Marketing:

 Nghiên cứu tiếp thị và thông tin, tìm hiểu sự thật ngầm hiểu của kháchhàng

 Lập hồ sơ thị trường và dự báo doanh thu

 Khảo sát hành vi ứng sử của khách hàng tiềm năng

 Phân khúc thị trường, xác định mục tiêu, định vị thương hiệu

 Phát triển sản phẩm, hoàn thiện sản phẩm với các thuộc tính mà thị

Giám Đốc

Trang 23

+ Phòng Nhân sự :

 Tổ chức bộ máy, bố trí sử dụng  Nhân sự một cách hợp lý phát huy tối

đa hiệu quả

 Quản lý, điều hành, giám sát các công tác nhân lực, tổ chức nhân sự, chính sách hỗ trợ, khen thưởng kỷ luật đối với toàn thành viên trong công ty

 Xây dựng công tác đào tạo và tuyển dụng thành viên chuyên nghiệp đồng thời tạo môi trường văn hóa lành mạnh, đoàn kết thúc đẩy tinh thần hoạt động của thành viên

 Thực hiện việc viết hóa đơn ,thanh toán tiền cho khách hàng

2.1.2 Yêu cầu của hệ thống

Do đặc thù của công việc ở công ty thường xuyên diễn ra các buổi họp giao ban giữa các phòng ban với giám đốc nhằm mục đích báo cáo lại tình hình kinh doanh của công ty trong các tuần và vạch ra chiến lược phát triển trong các tuần tiếp theo Vì vậy việc đảm bảo cho thông tin không bị lộ ra ngoài là rất cần thiết do đó cần phần mềm trao đổi thông tin đảm bảo sự bảo mật và an toàn

Các phòng ban được bố trí ở các tầng khác nhau vì vậy việc di chuyển giữa các phòng ban về phòng giám đốc họp là không hề thuận lợi trong khi công

ty thường xuyên diễn ra các buổi họp do đó cần 1 phần mềm trao đổỉ thông tin

mà không cần phải gặp mặt trực tiếp nhưng vẫn đảm bảo cho buổi họp

Trang 24

Công ty là một công ty nhỏ , công ty tư nhân nên số lượng nhân viên ít do

đó năng suất lao động của nhân viên cũng ảnh hưởng rất nhiều đến tình hình pháttriển của công ty vì vậy cần Việc quản lý giám sát quá trình hoạt động của các nhân viên là hết sức cần thiết

2.2 Mục đích, yêu cầu:

 Xây dựng phần mềm cho phép họp, hội nghị trực tuyến thông qua mạng LAN, WAN, Với các yêu cầu sau:

 Cho phép người dùng tạo tài khoản riêng

 Người dùng đăng nhập được vào hệ thống khi có tài khoản

 Người dùng có thể thay đổi mật khẩu

 Gửi tin nhắn tới bạn bè

 Hệ thống cho phép chat các dạng thông tin: Text, audio, video, image, file

2.3 Phân tích – thiết kế phần mềm trao đổi thông tin

2.3.1 Các tác nhân của hệ thống:

+ Người sử dụng: gồm cán bộ công nhân viên chức của công ty Đây là những

người sử dụng chính của hệ thống

Trang 25

+ Người quản trị: Đây là người quản trị hệ thống, có nhiệm vụ quản lý các tài

khoản của người dùng

Register Đăng ký tài khoản để sử dụng hệ thống

Trang 26

2.3.3 Biểu đồ UC của hệ thống:

Dang ky Dang nhap Thay doi mat khau

Gui tin nhan

Thoat khoi he thong

Thay doi ten hien thi Tao phong chat

Tham gia phong chat

Tim kiem ban be

Dat trang thai

Chat 2 nguoi

Nguoi su dung

Chat nhom

Hình 5 Biểu đồ UC tổng quát

Trang 28

Quan ly lich su chat Nguoi su dung

Xem lich su chat

Xoat lich su chat

<<include>>

<<include>>

Hình 8 Biểu đồ UC quản lý lịch sử chat (Manage history chat)

Xoa nguoi dung

Thiet lap lai mat khau Dang nhap

Dang xuat

Quan tri

Thoat khoi he thong

Hình 9 Biểu đồ UC cho admin

Trang 29

2.3.4 Kịch bản cho các Use – Case:

a) UC đăng ký

+ UC này cho phép người dùng tạo và kích hoạt tài khoản, ghi danh vào hệ thống.+ Tác nhân: User (người sử dụng)

Các luồng sự kiện:

+ Luồng sự kiện chính: UC này bắt đầu khi người dùng tạo một tài khoản mới

 Hệ thống hiển thị thông mà người dùng phải nhập vào

 Người dùng nhập thông tin mà hệ thống yêu cầu và hệ thống lưu nhữnggiá trị đó

 Người dùng xác nhận (submit) những thông tin vừa nhập Một tàikhoản mới được tạo

 Hệ thống thông báo đăng ký thành công và chuyển tới trang đăng nhập

 Uc kết thúc

+ Luồng sự kiện phụ:

 Người dùng nhập thông tin không hợp lệ

 Hệ thống thông báo lỗi và yêu cầu nhập lại

 Người dùng nhập thông tin và hệ thống xác nhận lại những thông tin đó

 Nếu nhập những thông tin hợp lệ thì sẽ được lưu vào hệ thống

 Nếu không hợp lệ thì hệ thống yêu cầu nhập lại cho tới khi hợp lệ.+ Pre-condition (tiền điều kiện):Không có

+ Post-condition (hậu điều kiện):Một tài khoản mới được tạo với những thông tin

đã đăng ký.Tài khoản không được tạo khi người dùng nhập thông tin không hợplệ

b) UC đăng nhập

+ UC này là nơi mà người dùng được nhận diện trong hệ thống Nếu người dùng đãđăng ký trong hệ thống, cung cấp một User-name và password để xác nhận Nếungười dùng chưa được xác nhận thì chưa đăng nhập vào hệ thống được

+ Tác nhân: User (người sử dụng) và Admin( quản trị hệ thống)

Các luồng sự kiện:

+ Luồng sự kiện chính:

Trang 30

UC này bắt đầu khi người dùng muốn đăng nhập vào hệ thống:

 Hệ thống đưa dấu nhắc tới nơi nhập UserName và password

 Người dùng nhập UserName và password

 Hệ thống xác nhận thông tin nhập vào là hợp lệ hay không

 Hệ thống thông báo đăng nhập thành công

 Pre-condition (tiền điều kiện): Không có

 Post-condition (hậu điều kiện):Nếu đăng nhập thành công thì ngườidùng được xác nhận vào hệ thống

c) UC thay đổi mật khẩu:

+ UC này giúp cho người dùng thay đổi mật khẩu để đảm bảo sự an toàn bí mậtcủa tài khoản

+ Tác nhân: User (người sử dụng)

Các luồng sự kiện:

+ Luồng sự kiện chính: UC này bắt đầu khi người dùng muốn thay đổi mật khẩu:

 Hệ thống yêu cầu nhập các thông tin: Username, password, newpassword, confirm new password

 Người dùng nhập các thông tin mà hệ thống yêu cầu

 Hệ thống xác nhận thông tin mà người dùng nhập vào có hợp lệ hay không

 Nêu người dùng nhập thông tin hợp lệ thì hệ thống thông báo thay đổimật khẩu thành công

 UC kết thúc

+ Luồng sự kiện phụ:

 Người dùng nhập thông tin không hợp lệ

 Hệ thống thông báo lỗi và yêu cầu người dùng nhập lại

Trang 31

 Người dùng nhập lại các thông tin bị lỗi

 Hệ thống xác nhận thông tin người dùng nhập vào có hợp lệ hay không

 Nếu không hợp lệ thì hệ thống lại yêu cầu người dùng nhập lại cho tớikhi hợp lệ

 Pre-condition (tiền điều kiện):Không có

 Post-condition (hậu điều kiện):Nếu người dùng nhập thông tin hợp lệthì tài khoản của họ sẽ có mật khẩu mới theo ý muốn

d) UC thoát hệ thống:

+ UC này giúp cho người dùng thoát khỏi hệ thống khi cần thiết

+ Tác nhân: User (người sử dụng)

Các luồng sự kiện:

+ Luồng sự kiện chính: UC này bắt đầu khi người dùng muốn thoát khỏi thệ thống:

 Người dùng chọn chức năng thoát khỏi hệ thống

 Hệ thống xóa các thông tin đã lưu tạm thời

 Uc kết thúc

+ Luồng sự kiện phụ:

 Pre-condition (tiền điều kiện): Người dùng đã đăng nhập vào hệ thống

 Post-condition (hậu điều kiện): Người dùng thoát ra khỏi hệ thống

e) UC Thêm bạn bè:

+ UC này dùng để thêm bạn bè mới vào danh bạ của người sử dụng

+ Tác nhân: User (người sử dụng)

Các luồng sự kiện:

+ Luồng sự kiện chính: UC này bắt đầu khi người dùng muốn thêm bạn bè vào danh bạkhi đăng nhập:

 Người dùng chọn menu contacts

 Hệ thống hiển thị các lựa chọn: thêm bạn bè,xóa bạn bè

Ngày đăng: 19/04/2017, 22:33

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w