Tài liệu tham khảo chuyên ngành tin học xây dựng một phần mềm về quản lý nhân sự ở công ty Vinapay
Trang 1Lời mở đầu
Bước sang thế kỉ 21, sự bùng nổ về công nghệ thông tin, thế giới số đãgiúp ích cho con người trong rất nhiều lĩnh vực kinh tế, xã hội, quốc phòng,anninh…Công việc của con người ngày càng phức tạp nhằm đáp ứng nhu cầucuộc sống ngày càng cao của xã hội, chính vì vậy bài toán đặt ra là phải làmsao quản lý nhân sự một cách chặt chẽ và hợp lý trong tất cả các ngành nghềnhư: y tế, giao thông, quốc phòng …chứ không chỉ riêng trong kinh doanhsản xuất Xuất phát từ nhu cầu thiết thực của nhiều công ty hiện nay, trongđợt thực tập vừa qua, em đã nghiên cứu và xây dựng một phần mềm về quản
lý nhân sự ở công ty Vinapay Với sự giúp đỡ nhiệt tình của anh Cao HoàngLong, người hướng dẫn em thực tập ở công ty và đặc biệt là sự chỉ bảo tậntình của PGS-TS Đặng Minh Ất, em đã xây dựng được cơ bản chương trình
Trang 2thông tin, sửa chữa và lưu trữ thông tin của nhân viên công ty Tuy nhiên, dokiến thức còn hạn chế nên chương trình của em còn nhiều thiếu xót, ví dụnhư: phần tính hệ số lương chưa được hoàn thiện…
Em xin chân thành cám ơn PGS-TS Đặng Minh Ất, Trưởng Bộ mônCông nghệ thông tin đã giúp em hoàn thành báo cáo
Hà Nội, 27-4-2008
Trang 3Chương I: GIỚI THIỆU VỀ CÔNG TY
THỰC TẬP
Trang 4I.Giới thiệu công ty Vinapay:
1 Giới thiệu chung:
-Tên đầy dủ Công ty cổ phần công nghệ thanh toán Việt Nam (Vinapay) Được chính thức thành lập vào tháng 2-2007 bởi nhà đầu tư nước ngoài hàng đầu thế giới là tập đoàn công nghệ Net 1, quỹ đầu tư IDG Venture và tập đoàn MK Việt Nam Mục tiêu của Vinapay là góp phần xây dựng ở Việt Nam một hạ tầng thanh toán an toàn cho thương mại di động.
1.1 Tầm nhìn của Vinapay:
-Là mang sức mạnh và tiện ích của thương mại điện tử đến với tất
cả khách hàng tại Việt Nam Công ty luôn nỗ lực mang đến cho khách hàng thêm nhiều tiện ích trong việc mua sắm bằng việc tạo điều kiện thuận lợi khi mua hàng trực tuyến, thanh toán các nhu cầu hàng ngày bằng điện thoại di động, và cơ hội để kiếm thêm thu nhập.
1.2 Sứ mệnh của Vinapay:
-Là trở thành công ty hàng đầu trong lĩnh vực giao dịch thương mại điện tử và di động bằng việc kết hợp một nền tảng công nghệ tiên tiến được công nhận trên thế giới với mạng lưới phân phối rộng lớn trên toàn quốc.Vinapay sẽ trở thành nhà cung cấp dịch vụ tiền điện tử và giải pháp thanh toán nhằm mang đến cho khách hàng và nhà bán lẻ sự tiện lợi và an toàn trong các giao dịch chỉ với chiếc điện thoại di động hoặc máy tính nối mạng Internet.
Trang 51.3 Cam kết của Vinapay:
-Cung cấp dịch vụ nhanh chóng, an toàn và tiện lợi cho tất cả mọi người, ở mọi nơi và trong bất kì thời gian nào.Cho dù bạn đang ở đâu, dịch vụ của công ty luôn sẵn sàng với phương châm “Vinapay-Sức mạnh niềm tin”.
1.4 Chiến lược:
- Ngày 25-12-2007 Vinapay đã chính thức đưa ra thị trường dịch
vụ MrTopUp ( www.mrtopup.com.vn ) Bằng việc sử dụng đội ngũ bán hàng là cầu nối với các nhà phân phối cho phép công ty xây dựng hệ thống phân phối với mục tiêu đạt 24.000 điểm vào cuối năm 2008 Thông qua hệ thống phân phối này, Vinapay sẽ triển khai bán Vcash, một hình thức tiền điện tử cho phép người dùng có thế mua mã thẻ trả trước điện thoại di động, mã games online, thanh toán trực tuyến, chuyển và nhận tiền, đồng thời có thể quản lý tài khoản và các giao dịch thông qua ứng dụng MrTopUp trên điện thoại di động hoặc trên Internet.
-Lợi nhuận của Vinapay được thu tử 3 khoản chính, bán mã thẻ trả
trước, phí giao dịch khi thanh toán hoặc chuyển Vcash và tiền lãi Thời gian đầu, nạp tiền điện thoại di động trả trước sẽ cung cấp phần lớn lợi nhuận cho doanh nghiệp, nhưng đến cuối năm đầu tiên đưa MrTopUp ra thị trường, lợi nhuận sẽ đến từ phí giao dịch Đến năm thứ 2 trở đi, lượng khách hàng sử dụng Vcash sẽ tạo ra một lượng vốn lớn và cho phép công
ty thu lãi từ số vốn này.
-Lợi thế so sánh của Vinapay bao gồm nền tảng công nghệ được cấp phép từ Net 1và lượng vốn lớn từ các nhà đầu tư nước ngoài để triển khai kế hoạch tiếp thị và quảng cáo Công ty sử dụng một nền tảng công nghệ đạt tiêu chuẩn hiện đại và tính bảo mật cao đã triển khai thành
Trang 6đến Việt Nam, đội ngũ kĩ sư hàng đầu của công ty đã điều chỉnh và sáng tạo cho phù hợp với số lượng người dùng điện thoại di động ngày một cao tại Việt Nam Điều quan trọng nhất trong công ty là vấn đề bảo mật Như khẩu hiệu “Vinapay -Sức mạnh niềm tin” , và nhìn xa và rộng hơn, cái công ty kinh doanh là niềm tin và sự tín nhiệm.
2 Cơ cấu tổ chức công ty:
2.1 Sơ đồ tổ chức:
2.2 Đội ngũ quản lý:
2.2.1 Ông Nguyễn Trọng Khang
Trang 7-Là sáng lập viên và là Chủ tịch Hội đồng quản trị của Vinapay Bắt đầu sự nghiệp với vị trí là Giám đốc phát triển kinh doanh tại văn phòng đại diện Renong (Malaysia) tại Hà Nội (1992-1997), ông Khang tích lũy được kinh nghiệm phát triển dự án, quản lý dự án và kinh doanh thương mại Năm 1999, ông bắt đầu khởi nghiệp kinh doanh với công ty
MK Technology Group và phát triển nó trở thành một trong những công
ty hàng đầu về lĩnh vực công nghệ và dịch vụ thẻ Ông Khang có bằng cao học tại Henley Management College (Anh quốc), và bằng MBA tại đại học Boise State (Mỹ) Ông được vinh danh với nhiêu giải thưởng trong kinh doanh và nhiều đóng góp trong lĩnh vực công nghiệp trẻ và Công nghệ thông tin Việt Nam.
2.2.2 Ông Hoàng Kim Chương
-Là Phó tổng Giám đốc Quan hệ đối tác Ông bắt đầu sự nghiệp với
vị trí là kĩ sư dầu khí tại Petechim vào năm 1986 ở Vũng Tàu Ông gia nhập công ty Café Trung Nguyên từ năm 2003-2005, với vị trí Giám đốc Tiếp thị và Bán hàng cho bộ phận Kinh doanh quốc tế Ông có bằng MBA tại đại học Boise State (Mỹ) và bằng Thạc sỹ khoa học tại Đại học dầu khí Quốc gia Mátxcơva, Liên bang Nga Ông sử dụng thành thạo tiếng Việt, Anh, Nga.
Trang 82.2.4 Bà Nguyễn Hương Giang:
-Với vai trò là Giám đốc Bán hàng và tiếp thị, bà Giang phụ trách chiến lược tiếp thị cho Vinapay cũng như phát triển đội ngũ kinh doanh cho công ty Bà có bằng cử nhân tại học viện Quan hệ quốc tế tại Việt Nam
Trang 9CHƯƠNG II.TỔNG QUAN VỀ ỨNG DỤNG
WEB - QUẢN LÝ NHÂN SỰ
Trang 10
1.Bộ máy quản lý nhân sự gọn nhẹ, chỉ cần số ít nhân viên với hệ thống máy vi tính
2.Tổ chức quản lý, lưu trữ trên hệ thống máy vi tính làm tăng tính an toàn, bảo mật cao hơn.
3.Phù hợp với các ứng dụng triển khai trên diện rộng.
4.Chi phí ban đầu ít nhất vì chỉ phải triển khai trên máy chủ.
5.Dễ dàng phát triển ứng dụng, tất cả các ứng dụng chỉ phải triển khai trên máy chủ, do vậy dễ bảo trì, phát triển hệ thống.
6.Không phụ thuộc vào phạm vi ứng dụng Việc mở rộng ít tốn kém nhất 7.Đào tạo sử dụng chương trình ít tốn kém nhất.
8.Dễ dàng tích hợp với các ứng dụng khác trên môt Website.
2 Tổng quan về chương trình:
Bao gồm các chức năng chính:
-Cập nhập hồ sơ nhân viên : Khi tuyển mới nhân viên thì cập nhập
sơ yếu lí lịch và lí lịch công chức viên chức.
-Cập nhập các biến động trong quá trình công tác: Khi một cán bộ được tăng lương, lên chức, thay đổi công việc, đi nước ngoài, đi học, chuyển đơn vị công tác trong phạm vi tổ chức của cơ quan thì thông tin của các sự kiện này được lưu trong hồ sơ.
Trang 11-Quản lý các vấn đề liên quan đến nhân viên:
-Tìm kiếm, tra cứu thông tin về nhân sự theo một chỉ tiêu nào đó để phục vụ cho một số trường hợp, VD như liệt kê các cán bộ theo một chuyên ngành nào đó có trình độ như thế nào…
-Quản trị hệ thống: Chương trình được xây dựng trên cơ sở các đối tượng sử dụng được phân quyền truy cập vào từng phần hết sức chặt chẽ
-Người quản trị hệ thống có quyền cao nhất, có quyền cấp (thu) quyền sử dụng chương trình cho những người khác.
3.Ứng dụng Web:
3.1 Khái niệm:
-Trong kỹ thuật phần mềm, một Ứng dụng web hay webapp là một trình ứng dụng mà có thể tiếp cận qua web thông qua mạng như Internet
Trang 12-Ứng dụng web phổ biến nhờ vào sự có mặt vào bất cứ nơi đâu của một chương trình Khả năng cập nhật và bảo trì ứng dụng Web mà không phải phân phối và cài đặt phần mềm trên hàng ngàn máy tính là lý
do chính cho sự phổ biến của nó Ứng dụng web được dùng để hiện thực Webmail, bán hàng trực tuyến, đấu giá trực tuyến, wiki, diễn đàn thảo luận, Weblog, và nhiều chức năng khác.
3.2 Lịch sử phát triển và ưu điểm của ứng dụng web:
-Trong dạng tính toán chủ-khách trước đây, mỗi ứng dụng có chương trình khách riêng của nó sẽ phục vụ như giao diện người dùng và phải được cài đặt riêng rẽ trên mỗi máy tính cá nhân của người dùng Sự nâng cấp phần máy chủ của ứng dụng sẽ cần nâng cấp tất cả máy khách
đã được cài trên mỗi máy trạm người dùng, thêm vào đó là chi phí hỗ trợ
và giảm năng suất.
-Ngược lại, ứng dụng web linh hoạt tạo ra một loạt các tài liệu Web
ở định dạng chuẩn được hỗ trợ bởi những trình duyệt phổ biến như HTML/XHTML Ngôn ngữ kịch bản phía người dùng ở dạng ngôn ngữ chuẩn như JavaScript thường được thêm vào để có thêm những yếu tố động trong giao diện người dùng Nói chung, mỗi trang Web đơn lẻ được gửi tới người dùng như một tài liệu ổn định, nhưng thứ tự các trang có thể cung cấp cảm giác trực quan, khi những gì người dùng nhập vào sẽ được trả về thông qua thành phần mẫu Web được nhúng vào trong đánh dấu trang Trong quá trình giao dịch đó, trình duyệt Web sẽ thông dịch
và hiển thị trang, và hoạt động như một người dùng chung cho bất kỳ ứng dụng Web nào.
Trang 133.3 Các kĩ thuật trong Web application:
-Giao diện web đặt ra rất ít giới hạn khả năng người dùng Thông qua Java, JavaScript, DHTML, Flash và những công nghệ khác, những phương pháp chỉ ứng dụng mới có như vẽ trên màn hình, chơi nhạc, và dùng được bàn phím và chuột tất cả đều có thể thực hiện được Những
kỹ thuật thông thường như kéo thả cũng được hỗ trợ bởi những công nghệ trên Những nhà phát triển web thường dùng ngôn ngữ kịch bản phía người dùng để thêm hiệu quả các tính năng, đặc biệt là tạo ra một cảm giác giao tiếp trực quan mà không cần phải tải trang lại (điều mà nhiều người dùng cảm thấy ngắt quãng) Vừa rồi, những công nghệ đã được phát triển để phối hợp ngôn ngữ kịch bản phía người dùng với công nghệ phía máy chủ như PHP Ajax, một kỹ thuật phát triển web sử dụng kết hợp nhiều công nghệ khác nhau, là một ví dụ về công nghệ hiện đang tạo ra ngày càng nhiều trải nghiệm tương tác hơn.
-Một cách tiếp cận khác (ít phổ biến hơn) là dùng Adobe Flash hoặc Java applet để cung cấp một vài hoặc tất cả các giao diện người dùng Từ khi phần lớn trình duyệt web hỗ trợ những công nghệ này (thường thông qua plug-in), những ứng dụng dựa trên Flash hay Java có thể được hiện thực và triển khai dễ dàng như nhau Bởi vì chúng cho phép lập trình viên quản lý chặt hơn giao diện, chúng vượt qua nhiều vấn
đề về cấu hình trình duyệt, mặc dù sự không tương thích giữa hiện thực bằng Java hay Flash trên máy khách có thể tạo ra sự phức tạp khác nhau Vì sự tương tự về kiến trúc với chương trình chủ-khách của chúng, gần với chương trình "dày", đã có sự tranh luận về việc hệ thống đó có được gọi là "ứng dụng Web" hay không; một thuật ngữ khác được đề
Trang 14-Dù có nhiều biến thể, một ứng dụng Web thông thường được cấu trúc như một ứng dụng ba lớp Ở dạng phổ biến nhất, một trình duyệt Web là lớp thứ nhất, một bộ máy sử dụng một vài công nghệ nội dung Web động (như ASP, ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Python, hoặc Ruby On Rails) là lớp giữa, và một cơ sở dữ liệu là lớp thứ
ba Trình duyệt sẽ gửi yêu cầu đến lớp giữa, lớp giữa sẽ phục vụ bằng cách tạo ra truy vấn và cập nhật cơ sở dữ liệu và tạo ra giao diện người dùng.
Trang 154 Các công nghệ sử dụng để triển khai và phát triển ứng dụng:
Trang 164.1 Internet Information Server (IIS)
4.1.1 Khái niêm:
-Microsoft Internet Information Services (các dịch vụ cung cấp thông tin Internet) là các dịch vụ dành cho máy chủ chạy trên nền Hệ điều hành Window nhằm cung cấp và phân tán các thông tin lên mạng,
nó bao gồm nhiều dịch vụ khác nhau như Web Server, FTP Server, Nó
có thể được sử dụng để xuất bản nội dung của các trang Web lên Internet/Intranet bằng việc sử dụng “Phương thức chuyển giao siêu văn bản“ - Hypertext Transport Protocol (HTTP).
-Như vậy, sau khi bạn thiết kế xong các trang Web của mình, nếu bạn muốn đưa chúng lên mạng để mọi người có thể truy cập và xem chúng thì bạn phải nhờ đến một Web Server, ở đây là IIS Nếu không thì trang Web của bạn chỉ có thể được xem trên chính máy của bạn hoặc thông qua việc chia sẻ tệp (file sharing) như các tệp bất kỳ trong mạng nội bộ mà thôi
Trang 174.1.2 IIS có thể làm được gì?
-Nhiệm vụ của IIS là tiếp nhận yêu cầu của máy trạm và đáp ứng lại yêu cầu đó bằng cách gửi về máy trạm những thông tin mà máy trạm yêu cầu Bạn có thể sử dụng IIS để:
- Xuất bản một Website của bạn trên Internet
- Tạo các giao dịch thương mại điện tử trên Internet (hiện các catalog và nhận được các đơn đặt hàng từ nguời tiêu dùng)
- Chia sẻ file dữ liệu thông qua giao thức FTP
- Cho phép người ở xa có thể truy xuất database của bạn (gọi là Database remote access) Và rất nhiều khả năng khác
4.1.3 IIS hoạt động như thế nào?
-IIS sử dụng các giao thức mạng phổ biến là HTTP (Hyper Text Transfer Protocol) và FPT (File Transfer Protocol) và một số giao thức khác như SMTP, POP3, để tiếp nhận yêu cầu và truyền tải thông tin trên mạng với các định dạng khác nhau
Trang 18-Một trong những dịch vụ phổ biến nhất của IIS mà chúng ta quan tâm trong giáo trình này là dịch vụ WWW (World Wide Web), nói tắt là dịch vụ Web Dịch vụ Web sử dụng giao thức HTTP để tiếp nhận yêu cầu (Requests) của trình duyệt Web (Web browser) dưới dạng một địa chỉ URL (Uniform Resource Locator) của một trang Web và IIS phản hồi lại các yêu cầu bằng cách gửi về cho Web browser nội dung của trang Web tương ứng
4.2 SQL Server 2005 :
4.2.1 Khái niệm:
-SQL Server là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.
-SQL Server 2005 được tối ưu để có thể chạy trên môi trường cơ sở
dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và
có thể phục vụ cùng lúc cho hàng ngàn user SQL Server 2005 có thể kết hợp "ăn ý" với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server
Trang 194.2.2 Phân loại SQL Server:
Standard : Rất thích hợp cho các công ty vừa và nhỏ vì giá thành
rẻ hơn nhiều so với Enterprise Edition, nhưng lại bị giới hạn một
số chức năng cao cấp (advanced features) khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB RAM
Personal: được tối ưu hóa để chạy trên PC nên có thể cài đặt trên hầu hết các phiên bản windows kể cả Windows 98
Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được chế tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc Ðây là edition mà các bạn muốn học SQL Server cần có Chúng ta sẽ dùng edition này trong suốt khóa học Edition này có thể cài trên Windows 2000 Professional hay Win NT Workstation
Desktop Engine (MSDE): Ðây chỉ là một engine chạy trên desktop
và không có user interface (giao diện) Thích hợp cho việc triển khai ứng dụng ở máy client Kích thước database bị giới hạn khoảng 2 GB
Win CE : Dùng cho các ứng dụng chạy trên Windows CE
Trial: Có các tính năng của Enterprise Edition, download free,
Trang 204.2.3 Các phiên bản của SQL Server:
-SQL Server của Microsoft được thị trường chấp nhận rộng rãi kể
từ version 6.5 Sau đó Microsoft đã cải tiến và hầu như viết lại một engine mới cho SQL Server 7.0 Cho nên có thể nói từ version 6.5 lên version 7.0 là một bước nhảy vọt Có một số đặc tính của SQL Server 7.0 không tương thích với version 6.5 Trong khi đó từ Version 7.0 lên version 8.0 (SQL Server 2000) thì những cải tiến chủ yếu là mở rộng các tính năng về web và làm cho SQL Server 2000 đáng tin cậy hơn
-Một điểm đặc biệt đáng lưu ý ở version 2000 là Multiple-Instance Nói cho dễ hiểu là bạn có thể install version 2000 chung với các version trước mà không cần phải uninstall chúng Nghĩa là bạn có thể chạy song song version 6.5 hoặc 7.0 với version 2000 trên cùng một máy (điều này không thể xảy ra với các version trước đây) Khi đó version cũ trên máy bạn là Default Instance còn version 2000 mới vừa install sẽ là Named Instance.
4.2.4 Các thành phần quan trọng trong SQL Server 2005:
-SQL Server 2000 được cấu tạo bởi nhiều thành phần như Relational Database Engine, Analysis Service và English Query Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ liệu một cách dễ dàng.
Trang 21a) Relational Database Engine - Cái lõi của SQL Server:
-Ðây là một engine có khả năng chứa data ở các quy mô khác nhau dưới dạng table và support tất cả các kiểu kết nối (data connection) thông dụng của Microsoft như ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC) Ngoài ra nó còn có khả năng
tự điều chỉnh (tune up) ví dụ như sử dụng thêm các tài nguyên (resource) của máy khi cần và trả lại tài nguyên cho hệ điều hành khi một user log off.
Trang 22b) Replication
- Cơ chế tạo bản sao (Replica).
-Giả sử bạn có một database dùng để chứa dữ liệu được các ứng dụng thường xuyên cập nhật Một ngày đẹp trời bạn muốn có một cái database giống y hệt như thế trên một server khác để chạy báo cáo (report database) (cách làm này thường dùng để tránh ảnh hưởng đến performance của server chính) Vấn đề là report server của bạn cũng cần phải được cập nhật thường xuyên để đảm bảo tính chính xác của các báo cáo Bạn không thể dùng cơ chế back up and restore trong trường hợp này Thế thì bạn phải làm sao? Lúc đó cơ chế replication của SQL Server
sẽ được sử dụng để bảo đảm cho dữ liệu ở 2 database được đồng bộ (synchronized)
c) Data Transformation Service (DTS)
- Một dịch vụ chuyển dịch data vô cùng hiệu quả Nếu bạn làm việc trong một công ty lớn trong đó data được chứa trong nhiều nơi khác nhau và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2 (của IBM), SQL Server, Microsoft Access Bạn chắc chắn sẽ có nhu cầu di chuyển data giữa các server này (migrate hay transfer) và không chỉ di chuyển bạn còn muốn định dạng (format) nó trước khi lưu vào database khác, khi đó bạn sẽ thấy DTS giúp bạn giải quyết công việc trên dễ dàng như thế nào DTS sẽ được bàn kỹ trong bài 8.
d) Analysis Service
Trang 23- Một dịch vụ phân tích dữ liệu rất hay của Microsoft.
Dữ liệu (Data) chứa trong database sẽ chẳng có ý nghĩa gì nhiều nếu như bạn không thể lấy được những thông tin (Information) bổ ích từ
đó Do đó Microsoft cung cấp cho bạn một công cụ rất mạnh giúp cho việc phân tích dữ liệu trở nên dễ dàng và hiệu quả bằng cách dùng khái niệm hình khối nhiều chiều (multi-dimension cubes) và kỹ thuật "đào mỏ
dữ liệu" (data mining) sẽ được chúng tôi giới thiệu trong bài 13.
e) English Query
-Ðây là một dịch vụ giúp cho việc query data bằng tiếng Anh
"trơn" (plain English).
f) Meta Data Service:
-Dịch vụ này giúp cho việc chứa đựng và "xào nấu" Meta data dễ dàng hơn Thế thì Meta Data là cái gì vậy? Meta data là những thông tin
mô tả về cấu trúc của data trong database như data thuộc loại nào String hay Integer , một cột nào đó có phải là Primary key hay không Bởi vì những thông tin này cũng được chứa trong database nên cũng là một dạng data nhưng để phân biệt với data "chính thống" người ta gọi nó là Meta Data Phần này chắc là bạn phải xem thêm trong một thành phần khác của SQL Server sắp giới thiệu sau đây là SQL Server Books Online
vì không có bài nào trong loạt bài này nói rõ về dịch vụ này cả.
g) SQL Server Books Online:
- Quyển Kinh Thánh không thể thiếu:
Trang 24Cho dù bạn có đọc các sách khác nhau dạy về SQL server thì bạn cũng sẽ thấy books online này rất hữu dụng và không thể thiếu được( cho nên Microsoft mới hào phóng đính kèm theo SQL Server).
h SQL Server Tools :
- Ðây là một bộ đồ nghề của người quản trị cơ sở dữ liệu (DBA )
Ái chà nếu kể chi tiết ra thì hơi nhiều đấy cho nên bạn cần đọc thêm trong books online Ở đây người viết chỉ kể ra một vài công cụ thông dụng mà thôi
Ðầu tiên phải kể đến Enterprise Manager Ðây là một công cụ cho
ta thấy toàn cảnh hệ thống cơ sở dữ liệu một cách rất trực quan.
Nó rất hữu ích đặc biệt cho người mới học và không thông thạo lắm về SQL
Kế đến là Query Analyzer Ðối với một DBA giỏi thì hầu như chỉ cần công cụ này là có thể quản lý cả một hệ thống database mà không cần đến những thứ khác Ðây là một môi trường làm việc khá tốt vì ta có thể đánh bất kỳ câu lệnh SQL nào và chạy ngay lập tức đặc biệt là nó giúp cho ta debug mấy cái stored procedure dễ dàng
Công cụ thứ ba cần phải kể đến là SQL Profiler Nó có khả năng
"chụp" (capture) tất cả các sự kiện hay hoạt động diễn ra trên một SQL server và lưu lại dưới dạng text file rất hữu dụng trong việc kiểm soát hoạt động của SQL Server
Ngoài một số công cụ trực quan như trên chúng ta cũng thường hay dùng osql và bcp (bulk copy) trong command prompt
Trang 25Tóm lại trong bài này chúng ta đã dạo qua một vòng để tìm hiểu về SQL Server
Trang 264.3 ASP.NET
4.3.1 Khái niệm vềASP.NET:
-Là phiên bản kế tiếp của Active Server Page (ASP); nó là một nền phát triển ứng dụng Web hợp nhất, cung cấp nhiều dịch vụ cần thiết cho lập trình viên xây dựng các lớp ứng dụng chuyên nghiệp Cú pháp ASP.NET tượng thích với cú pháp ASP, ngoài ra ASP.NET còn cung cấp một mô hình lập trình mới, nền tảng an toàn (secure), linh hoạt (scalable),và ổn định (stable) Sẽ cảm thấy dễ chịu khi nâng cấp ứng dụng ASP hiện có, bằng cách đưa vào các hàm ASP.NET cho chúng (lời của MS).
4.3.2 Môi trường phát triển ứng dụng ASP.NET:
Trang 27-ASP.NET là biên dịch, dựa trên môi trường NET và có thể xây dựng bằng bất cứ ngôn ngữ nào tương thích NET, bao gồm Visual Basic NET, C#, and JScript NET Ngoài ra, toàn bộ thư viện NET Framework có thể sử dụng với ứng dụng ASP.NET, lập trình viên tận dụng dễ dàng những lợi ích của các kỹ thuật được cung cấp, bao gồm quản lý môi trường thực thi ngôn ngữ cung (common language runtime), kiểu an toàn (type safety), kế thừa (inheritance), v.v.
4.3.3 Các tính năng lập trình trong ASP.NET:
Trang 28a) ASP.NET được thiết kế làm việc với các trình soạn thảo WYSIWYG HTML đi kèm và các công cụ lập trình khác được đưa vào trong Microsoft-Visual.NET Tất cả các công cụ này không phài chỉ dùng
để phát triển ứng dụng Web được dễ dàng, tuy nhiên có thể sử dụng một vài chức năng thông thường cho ứng dụng Web, bao gồm một GUI cho phép lập trình viên có thể dễ dàng đặt các server control vào trang web (web page), và một trình debug rất mạnh mẽ.
b) Khi tạo một ứng dụng Web lập trình viên có thể chọn Web Forms hoặc Web Services, ngoài ra cũng có thể kết hợp hai loại này với nhau theo bất kỳ cách nào Cà hai loại này có một nền cơ bản, cho phép
sử dụng authentication schemes, cache frequently used data, hoặc chỉnh sửa cấu hình ứng dụng (customize application’s configuration) Tuy nhiên mỗi loại có một vài khả năng riêng:
Web Forms cho phép xây dựng các form có nội dung phong phú (powerful forms) trên trang Web (Web Page) Khi xây dựng các form có thể sử dụng các server control để tạo các thành phần
UI thông dụng và lập trình cho chúng một vài chức năng thông dụng, những control này cho phép xây dựng nhanh chóng các form chỉ dùng một lần (out of reusable built-in), hoặc các custom component, làm đơn giản mã của trang web (simplifying the code
of a page).
Trang 29c) Một XML Web Service cung cấp điều kiện (mean) để truy cập các hàm ở server từ xa Khi sử dụng Web Service, trong kinh doanh người ta có thể đưa ra các giao diện lập trình được cùng với dữ liệu, hoặc kết quả kinh doanh, những cái này có thể được nhận, hiệu chỉnh bởi các ứng dụng client và server Web Server cho phép trao đổi dữ liệu theo hai kịch bản (scenarios) client-server và server-client, sử dụng chuẩn HTTP
và thông diệp XML (XML messaging) để di chuyển dữ liệu qua tường lữa (firewall) XML Web Service có thể được viết bằng mọi ngôn ngữ lập trình, sử dụng mọi mô hình thành phần (component model), và có thể chạy trên bất kỳ hệ điều hành nào có thể truy cập XML Web Services.
d) Mô hình (model) Web Forms và Web Services đều có tất cả các đặt tính của ASP.NET, đó là sức mạnh của NET Framework và NET Framework Common Lanuage Runtime Các tính chất và cách sử dụng
có thể được phát thảo như sau:
- Với người đã có kỹ năng lập trình ASP thì mô hình lập trình mới ASP.NET sẽ rất gần gũi Tuy là như vậy nhưng ASP.NET đã có những thay đổi rất đặc biệt so với ASP, ASP.NET đã có cấu trúc hơn và hướng đối tượng Thật đáng tiết, điều này có nghĩa là tất cả các trang ASP đã tồn tại đều phải được chỉnh sửa một vài nơi để có thể chạy dưới ASP.NET Ngoài ra, Visual Basic và Visual Basic.NET đã có một sự khác biệt rất lớn, điều này có nghĩa là các trang được viết bằng Visual Basic Scripting Edition sẽ không thể chuyển trực tiếp sang ASP.NET, cần thiết phải có một số thay đổi nhất định để có thể chuyển sang ASP.NET.
Để có thêm thông tin về vấn đề này hãy xem mục Migrating from ASP to ASP.NET trong MSDN
Trang 30- Truy cập database là kỹ thuật thường được sử dụng để hiển thị dữ liệu trên trang Web của khách (visitor) Với ASP.NET, việc quản lý (manage) database sẽ khá dễ dàng thông qua code.
Để có nhiều thông tin hơn về vấn đề này xin xem mục Accessing Data with ASP.NET.
- ASP.NET cung cấp một mô hình đơn giản để lập trình viên Web có thể làm việc như trên một ứng dụng thông thường Lập trình viên có thể viết mã ngay trong file văn bản global.asax, hoặc là trong một class được biên dịch, được triễn khai như là một assembly, và có thể đưa vào các sự kiện mức ứng dụng Ngoài ra người lập trình còn có thể mở rộng mô hình để thích hợp cho nhu cầu của từng ứng dụng Để có nhiều thông tin hơn hãy xem mục ASP.NET Application trong MSDN.
- ASP.NET tạo ra những chương trình dễ sử dụng và những session-state facility gần gủi với lập trình viên ASP và sẳn sàng tương thích với tất cả các giao diện lập trình NET Framework khác (other NET Framework APIs) Để có nhiều thông tin hơn xin xem mục ASP.NET State Management trong MSDN.
Trang 31- Đối với những lập trình viên cao cấp, người muốn sử dụng những giao diện lập trình mạnh như giao diện ISAPI (có trong ASP), ASP.NET giới thiệu hai giao diện: IhttpHandler và IhttpModule Cài đặt giao diện IHttpHandler cho phép chương trình tương tác với các yêu cầu mức thấp (low-level request) và những dịch vụ hồi báo (response services) của IIS Web Services
và cung cấp một vài chức năng giống với phần mở rộng ISAPI, nhưng với một mô hình lập trình rất đơn giản Cài đặt giao diện IhttpModule cho phép lập trình viên đưa vào những customize event riêng trong mỗi yêu cầu (request) sinh ra trong ứng dụng.
Để có nhiều thông tin hơn về vấn đề này hãy xem mục HTTP Runtime Support.
- ASP.NET có được những chất lượng thực thi được tìm thấy trong NET Framework và thực thi ngôn ngữ chung (common language runtime) Ngoài ra ASP.NET đã được thiết kế cho mục đích nâng cao khả năng thực thi vượt qua ASP và tất cả các nền ứng dụng Web khác (Lời của MS).
- Tất cả mã của ASP.NET đều được biên dịch, việc này cho phép kết hợp dễ (early binding), kiễu mạnh (strong type), trình biên dịch tức thời (JIT) tương thích native code Ngoài ra ASP.NET còn cung cấp catch mở rộng cho lập trình viên có thể tối ưu hóa ứng dụng trong một vài trường hợp.
Trang 32- Tạo được các câu lệnh debug (custom debug statements) cho trang web, nó rất hữu ích trong khi giãi quyết sự cố (troubleshooting).
- Nền NET Framework và ASP.NET cung cấp sơ đồ (schemes) chứng nhận(authentication) và cấp phép (authorization) cho ứng dụng Web, có thể dễ dàng xóa, thêm, hiệu chỉnh sơ đồ.
- Cấu hình ứng dụng ASP.NET được lưu trữ trong các tập tin XML chuẩn, hiệu chỉnh dễ dàng , và có thể mở rộng để phù hợp cho nhu cầu của từng ứng dụng Web.
Trang 334.4 MÔ HÌNH MODEL-VIEW-CONTROLLER (MVC).
4.4.1.Khái niệm mô hình MVC:
-MVC là viết tắt của Model-View-Controller Phương pháp thiết kế MVC là phương pháp chia nhỏ một ứng dụng thành nhiều lớp hoặc chia nhỏ phần giao diện người dùng (User Interface) của một ứng dụng thành
3 phần chính là Model, View và Controller.
4.4.2 Các thành phần trong mô hình:
a) Model (tạm dịch là phần “Mô hình”) là một đối tượng hoặc tập hợp các đối tượng biểu diển cho phần dữ liệu của chương trình, ví dụ: các dữ liệu được lưu trong cơ sở dữ liệu hay từ các hệ thống ứng dụng khác (như mail…).
Trang 34b.) View (tạm dịch là phần “Hiển thị”): Là phần giao diện với người dùng, bao gồm việc hiện dữ liệu ra màn hình, cung cấp các menu, nút bấm, hộp đối thoại, chọn lựu…, để người dùng có thể thêm, xóa, sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu trong hệ thống.
c) Controller (tạm dịch là phần “Điều khiển”): Là phần điều khiển toàn bộ logic về hoạt động của giao diện, tương tác với thao tác của người dùng (từ chuột, bàn phím và các thiết bị ngoại vi khác) và cập nhật, thao tác trên dữ liệu theo đầu vào nhận được và điều khiển việc chọn phần
“Hiển thị” thích hợp để truyền dữ liệu tới người dùng.
4.4.3 Các dạng của mô hình MVC:
-Với phương pháp thiết kế này, các chức năng hiển thị, chức năng logic điều khiển và chức năng truy cập dữ liệu của chương trình được chia thành các phần riêng biệt Java là một ngôn ngữ lập trình hướng đối tượng thuần túy nên việc áp dụng MVC vào các phần mếm viết bằng Java rất dễ dàng và thuận tiện Có hai hình mẫu chính của phương pháp thiết kế MVC trong Java là MVC model 1 và MVC model 2.
a). Trong MVC model 1, các trang JSP đóng vai trò “Hiển thị” (View) và “Điều khiển” (Controller) Có thể có nhiều trang JSP khác nhau đóng các vai trò khác nhau.
-Thao tác của người dùng trên trình duyệt web được gửi tới một trang JSP Trang JSP này sẽ khởi tạo một hoặc nhiều Java Bean (nếu cần thiết), truyền các lệnh cần thi hành tới Java Bean (không phải Enterprise Java Bean).
-Sau khi Java Bean thực hiện xong việc truy xuất hoặc cập nhập dữ liệu, trang JSP ban đầu có thể hiển thị dữ liệu lấy từ Bean (JSP ban đầu đóng luôn vai trò View), hoặc chọn một trang JSP khác để hiện dữ liệu từ
Trang 35để đảm bảo việc tách rời phần trình bày và logic của chương trình, trang JSP nhận yêu cầu chỉ đóng vai trò “Điều khiển” (Contronller).
-MVC model 1 có một nhược điểm là phần logic điều khiển được viết trong trang JSP, như vậy phần chương trình Java phức tạp dùng để điều khiển sẽ bị lẫn vào trong mã HTML dùng để trình bày Độ phức tạp của chương trình càng cao, thì trang JSP càng khó phát triển và bảo trì Hơn nữa, trong các dự án phức tạp, phần hiển thị do người thiết kế web giỏi về HTML và đồ họa thực hiện, còn phần điều khiển được người chuyên về lập trình thực hiện Dùng JSP làm phần điều khiển sẽ khó phân ranh giới trách nhiệm giữa nhóm thiết kế đồ họa và nhóm lập trình.
Để khắc phục nhược điểm này, MVC model 2 ra đời Trong MVC model
2, một hoặc nhiều servlet (thường là một) đóng vai trò điều khiển, các Java Bean đóng vai trò mô hình và các trang JSP đóng vai trò hiển thị
b) Trong model 2, các logic phức tạp của chương trình được viết hoàn toàn trong các servlet (chương trình Java) Phần hiển thị chỉ gồm các trang JSP với một vài mã đơn giản để lấy dữ liệu có sẵn, không có logic phức tạp, vì thế hoàn toàn có thể giao cho người thiết kế web Các yêu cầu của người dùng được gửi từ trình duyệt web tới servlet Servlet
sẽ khởi tạo Java Bean (nếu cần thiết), ra lệnh thu nhập, cập nhập thông tin Khi Java Bean hoàn thành công việc, servlet sẽ chọn trang JSP thích hợp để hiện thông tin trong Java Bean cho người dùng Đây là cách sử dụng MVC rất hiệu quả trong Java Tất nhiên, sử dụng MVC model 2 một cách hoàn toàn cứng nhắc, phần “Điều khiển” chỉ dùng servlet, phần
“Hiển thị” chỉ dùng JSP sẽ dãn đến một vài trường hợp kém hiệu quả, nhất là khi các yêu cầu từ trình duyệt web chỉ đòi hỏi việc hiển thị thông tin Trong trường hợp này, gửi thẳng yêu cầu hiển thị từ trình duyệt web
Trang 36Trong cách áp dụng MVC này, các yêu cầu có liên quan đến logic chương trình hoặc truy cập dữ liệu sẽ gửi tới servlet controller, còn các yêu cầu chỉ liên quan tới hiển thị sẽ được gửi tới JSP controller.
Trang 37CHƯƠNG III.PHÂN TÍCH VÀ THIẾT KẾ
HỆ THỐNG
Trang 38
1 Giới thiệu :
-Phân tích và thiết kế hệ thống nhằm hiểu rõ chu kỳ phát triển hệ thống, nghiên cứu sơ bộ, mô hình hóa yêu cầu, dữ liệu và quá trình, mô hình hóa đối tượng, thiết kế nhập xuất và giao diện người sử dụng, thiết
kế dữ liệu, kiến trúc ứng dụng, thực hiện, cài đặt, vận hành và hỗ trợ hệ thống.
2 Phân tích hệ thống theo sơ đồ Chức năng:
Trang 392.1 Quản lý người dùng:
-Là chức năng quản lý người dùng hay đăng nhập vào hệ thống, với mỗi user này đều có username (tên người dùng) và password (mật mã) riêng Quản lý người dùng(user) gồm 2 chức năng chính: là hiển thị danh sách người dùng và Thêm, Sửa xóa người dùng
2.1.1 Hiển thị danh sách người dùng:
-Là chức năng hiển thị toàn bộ người dùng trong hệ thống để theo dõi và quản lý người dùng một cách dễ dàng và thuận tiện
2.1.2 Thêm, Sửa, Xoá người dùng:
-Được gọi chung là chức năng cập nhật người dùng, chức năng này
có nhiệm vụ thay đổi thông tin người dùng, đưa thêm hay loại bỏ người dùng trong hệ thống
2.2 Quản lý thư mục:
-Là chức năng quản lý thư mục của hệ thống, mỗi thư mục là một chức năng riêng, có một đường liên kết tới chức năng của thư mục đó Quản lý thư mục gồm 2 chức năng chính: Hiển thị danh sách thư mục và
Trang 40
2.2.1 Hiển thị danh sách thư mục:
-Cũng như chức năng hiển thị danh sách người dùng, chức năng này có nhiệm vụ hiển thị danh sách thư mục để quản lý một cách dễ dàng
và thuận tiện hơn.
2.2.2 Thêm, Sửa, Xoá thư mục:
-Chức năng này có nhiệm vụ cập nhật thông tin của thư mục, thêm mới hay loại bỏ thư mục trong một hệ thống Chức năng này chỉ có người dùng quản trị mới được sử dụng Vì thay đổi nội dung của thư mục làm thay đổi cấu trúc toàn bộ của chương trình
2.3 Quản lý Phân quyền:
-Là chức năng phân quyền người dùng, chức năng này phụ thuộc vào 2 đối tượng “Người dùng” và “Thư mục” Mỗi người dùng sẽ sử dụng một số các thư mục, các thư mục khác không có quyền sử dụng sẽ không được hiên ra trên giao diện người dùng Phân quyền gồm 2 chức năng chính: Hiện thị danh sách Phân Quyền và Thêm sửa xoá Phần Quyền với Người Dùng.