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ảnlý 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 TYTHỰ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ópphần xây dựng ở Việt Nam một hạ tầng thanh toán an toàn cho thươngmạ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ấtcả khách hàng tại Việt Nam Công ty luôn nỗ lực mang đến cho kháchhàng thêm nhiều tiện ích trong việc mua sắm bằng việc tạo điều kiệnthuận lợi khi mua hàng trực tuyến, thanh toán các nhu cầu hàng ngàybằ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ươngmạ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êntiế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êntoàn quốc.Vinapay sẽ trở thành nhà cung cấp dịch vụ tiền điện tử và giảipháp thanh toán nhằm mang đến cho khách hàng và nhà bán lẻ sự tiệnlợi và an toàn trong các giao dịch chỉ với chiếc điện thoại di động hoặcmá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ọingườ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ạnhniềm tin”.
1.4 Chiến lược:
- Ngày 25-12-2007 Vinapay đã chính thức đưa ra thị trường dịchvụ MrTopUp (www.mrtopup.com.vn) Bằng việc sử dụng đội ngũ bánhà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ôngqua hệ thống phân phối này, Vinapay sẽ triển khai bán Vcash, một hìnhthức tiền điện tử cho phép người dùng có thế mua mã thẻ trả trước điệnthoại di động, mã games online, thanh toán trực tuyến, chuyển và nhậntiền, đồng thời có thể quản lý tài khoản và các giao dịch thông qua ứngdụ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ờigian đầu, nạp tiền điện thoại di động trả trước sẽ cung cấp phần lớn lợinhuận cho doanh nghiệp, nhưng đến cuối năm đầu tiên đưa MrTopUp rathị trường, lợi nhuận sẽ đến từ phí giao dịch Đến năm thứ 2 trở đi, lượngkhách hàng sử dụng Vcash sẽ tạo ra một lượng vốn lớn và cho phép côngty 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ệ đượccấp phép từ Net 1và lượng vốn lớn từ các nhà đầu tư nước ngoài để triểnkhai kế hoạch tiếp thị và quảng cáo Công ty sử dụng một nền tảng côngnghệ đạ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ángtạo cho phù hợp với số lượng người dùng điện thoại di động ngày mộtcao 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ănphòng đại diện Renong (Malaysia) tại Hà Nội (1992-1997), ông Khangtích lũy được kinh nghiệm phát triển dự án, quản lý dự án và kinh doanhthương mại Năm 1999, ông bắt đầu khởi nghiệp kinh doanh với công tyMK Technology Group và phát triển nó trở thành một trong những côngty hàng đầu về lĩnh vực công nghệ và dịch vụ thẻ Ông Khang có bằngcao 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ưởngtrong 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ớivị trí là kĩ sư dầu khí tại Petechim vào năm 1986 ở Vũng Tàu Ông gianhập công ty Café Trung Nguyên từ năm 2003-2005, với vị trí Giám đốcTiếp thị và Bán hàng cho bộ phận Kinh doanh quốc tế.Ông có bằngMBA tại đại học Boise State (Mỹ) và bằng Thạc sỹ khoa học tại Đại họcdầu khí Quốc gia Mátxcơva, Liên bang Nga Ông sử dụng thành thạotiếng Việt, Anh, Nga.
2.2.3 Ông Đỗ Việt Hà
-Khởi đầu sự nghiệp với vị trí là chuyên gia thiết kế đồ họa videovới công ty công nghệ Miranda Technology tại Quebec, Canada, năm1998 nơi ông nhận bằng thạc sĩ về kĩ sư điện tử máy tính Ông trở về ViệtNam năm 2004 và trở thành Giám đốc cho nhiều dự án của tổ chức LuxDevelopment, một chương trình được chính phủ Lucxemburg tài trợ vốn Ông Hà gia nhập Vinapay năm 2007 với vị trí là Phó tổng Giám đốc
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áchchiến lược tiếp thị cho Vinapay cũng như phát triển đội ngũ kinh doanhcho công ty Bà có bằng cử nhân tại học viện Quan hệ quốc tế tại ViệtNam
Trang 9CHƯƠNG II.TỔNG QUAN VỀ ỨNG DỤNGWEB - QUẢN LÝ NHÂN SỰ
Trang 10
1 Mục đích xây dựng chương trình:
-Việc tin học hoá Tổ chức quản lý nhân sự mang lại nhiều lợi íchhơn so với quản lý thủ công Quản lý thông tin về cán bộ, công nhân viênlà một bài toán quan trọng và có nhiều ứng dụng trong việc quản lýnguồn nhân lực, chính sách cán bộ …nhằm đưa ra các quyết định tronglĩnh vực xây dựng đội ngũ lao động đủ khả năng và trình độ đáp ứng cácnhu cầu trong giai đoạn mới Với những ưu điểm vượt trội:
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ốngmá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 antoà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 khaitrê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.
Trang 11-Quản lý các vấn đề liên quan đến nhân viên:+Quá trình lương.
+Quá trình công tác.+Quá trình học tập.
+Quá trình khen thưởng, kỉ luật.+Quan hệ gia đình.
+Ngoại ngữ
-Phân tích và báo cáo tình hình nhân sự: Đưu ra các thống kê đểphân tích các hiện tượng cần điều chỉnh Ví dụ: Có nhiều cán bộ cao tuổidẫn đến cần chuẩn bị lực lượng kế tục Số lượng nhân viên tăng giảmtheo từng tháng nhiều hay ít để điều chỉnh, phân công công việc một cáchhợp lý.
-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ộtchuyê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 đốitượng sử dụng được phân quyền truy cập vào từng phần hết sức chặtchẽ
-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ộttrì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ủamộ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ựcWebmail, bán hàng trực tuyến, đấu giá trực tuyến, wiki, diễn đàn thảoluậ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ẻ đượcgử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 đánhdấu trang Trong quá trình giao dịch đó, trình duyệt Web sẽ thông dịchvà 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ôngqua Java, JavaScript, DHTML, Flash và những công nghệ khác, nhữngphươ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ữngkỹ thuật thông thường như kéo thả cũng được hỗ trợ bởi những côngnghệ trên Những nhà phát triển web thường dùng ngôn ngữ kịch bảnphía người dùng để thêm hiệu quả các tính năng, đặc biệt là tạo ra mộtcả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ôngnghệ phía máy chủ như PHP Ajax, một kỹ thuật phát triển web sử dụngkết hợp nhiều công nghệ khác nhau, là một ví dụ về công nghệ hiện đangtạ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 Flashhoặc Java applet để cung cấp một vài hoặc tất cả các giao diện ngườidù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 chophé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ựcbằng Java hay Flash trên máy khách có thể tạo ra sự phức tạp khácnhau 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ấutrúc như một ứng dụng ba lớp Ở dạng phổ biến nhất, một trình duyệtWeb là lớp thứ nhất, một bộ máy sử dụng một vài công nghệ nội dungWeb độ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ằngcá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ườidù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ấpthô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ênInternet/Intranet bằng việc sử dụng “Phương thức chuyển giao siêu vănbả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ếubạn muốn đưa chúng lên mạng để mọi người có thể truy cập và xemchú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ặcthông qua việc chia sẻ tệp (file sharing) như các tệp bất kỳ trong mạngnộ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 ứnglạ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ạmyê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áccatalog 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 TextTransfer Protocol) và FPT (File Transfer Protocol) và một số giao thứckhác như SMTP, POP3, để tiếp nhận yêu cầu và truyền tải thông tintrê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 quantâ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ạicác yêu cầu bằng cách gửi về cho Web browser nội dung của trang Webtươ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 (RelationalDatabase Management System (RDBMS) ) sử dụng Transact-SQL đểtrao đổi dữ liệu giữa Client computer và SQL Server computer MộtRDBMS 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ếthợp "ăn ý" với các server khác như Microsoft Internet InformationServer (IIS), E-Commerce Server, Proxy Server
Trang 194.2.2 Phân loại SQL Server:
SQL Server có 7 editions:
Enterprise : Chứa đầy đủ các đặc trưng của SQL Server và có thểchạy tốt trên hệ thống lên đến 32 CPUs và 64 GB RAM Thêm vàođó nó có các dịch vụ giúp cho việc phân tích dữ liệu rất hiệu quả(Analysis Services)
Standard : Rất thích hợp cho các công ty vừa và nhỏ vì giá thànhrẻ hơn nhiều so với Enterprise Edition, nhưng lại bị giới hạn mộtsố 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ênhầ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àoServer cùng một lúc Ðây là edition mà các bạn muốn học SQLServer 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 NTWorkstation
Desktop Engine (MSDE): Ðây chỉ là một engine chạy trên desktopvà không có user interface (giao diện) Thích hợp cho việc triểnkhai ứng dụng ở máy client Kích thước database bị giới hạnkhoả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ộtengine mới cho SQL Server 7.0 Cho nên có thể nói từ version 6.5 lênversion 7.0 là một bước nhảy vọt Có một số đặc tính của SQL Server 7.0không tương thích với version 6.5 Trong khi đó từ Version 7.0 lênversion 8.0 (SQL Server 2000) thì những cải tiến chủ yếu là mở rộng cáctí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 versiontrước mà không cần phải uninstall chúng Nghĩa là bạn có thể chạy songsong version 6.5 hoặc 7.0 với version 2000 trên cùng một máy (điều nàykhông thể xảy ra với các version trước đây) Khi đó version cũ trên máybạn là Default Instance còn version 2000 mới vừa install sẽ là NamedInstance.
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ácthành phần này khi phối hợp với nhau tạo thành một giải pháp hoànchỉ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 nhaudướ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ăngtự đ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 logoff.
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 ứngdụng thường xuyên cập nhật Một ngày đẹp trời bạn muốn có một cáidatabase 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 đếnperformance của server chính) Vấn đề là report server của bạn cũng cầnphải được cập nhật thường xuyên để đảm bảo tính chính xác của các báocáo Bạn không thể dùng cơ chế back up and restore trong trường hợpnày Thế thì bạn phải làm sao? Lúc đó cơ chế replication của SQL Serversẽ đượ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ệctrong một công ty lớn trong đó data được chứa trong nhiều nơi khácnhau và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2 (củaIBM), SQL Server, Microsoft Access Bạn chắc chắn sẽ có nhu cầu dichuyển data giữa các server này (migrate hay transfer) và không chỉ dichuyển bạn còn muốn định dạng (format) nó trước khi lưu vào databasekhác, khi đó bạn sẽ thấy DTS giúp bạn giải quyết công việc trên dễ dàngnhư 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ềunế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 choviệ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áiniệ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 tinmô tả về cấu trúc của data trong database như data thuộc loại nào Stringhay 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ộtdạ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ầnkhác của SQL Server sắp giới thiệu sau đây là SQL Server Books Onlinevì 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ênMicrosoft 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êmtrong books online Ở đây người viết chỉ kể ra một vài công cụ thôngdụng mà thôi
Ðầu tiên phải kể đến Enterprise Manager Ðây là một công cụ chota 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ạolắ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ệckhá tốt vì ta có thể đánh bất kỳ câu lệnh SQL nào và chạy ngay lậptứ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ộtSQL server và lưu lại dưới dạng text file rất hữu dụng trong việckiể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ườnghay 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áttriển ứng dụng Web hợp nhất, cung cấp nhiều dịch vụ cần thiết cho lậptrình viên xây dựng các lớp ứng dụng chuyên nghiệp Cú pháp ASP.NETtượ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ựngbằ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àngnhững lợi ích của các kỹ thuật được cung cấp, bao gồm quản lý môitrườ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ảoWYSIWYG HTML đi kèm và các công cụ lập trình khác được đưa vàotrong 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ộtvài chức năng thông thường cho ứng dụng Web, bao gồm một GUI chophé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 WebForms hoặc Web Services, ngoài ra cũng có thể kết hợp hai loại này vớinhau theo bất kỳ cách nào Cà hai loại này có một nền cơ bản, cho phépsử dụng authentication schemes, cache frequently used data, hoặc chỉnhsửa cấu hình ứng dụng (customize application’s configuration) Tuynhiê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 phongphú (powerful forms) trên trang Web (Web Page) Khi xây dựngcác form có thể sử dụng các server control để tạo các thành phầnUI thông dụng và lập trình cho chúng một vài chức năng thôngdụng, những control này cho phép xây dựng nhanh chóng cácform chỉ dùng một lần (out of reusable built-in), hoặc các customcomponent, làm đơn giản mã của trang web (simplifying the codeof a page).
Trang 29c) Một XML Web Service cung cấp điều kiện (mean) để truy cậpcác hàm ở server từ xa Khi sử dụng Web Service, trong kinh doanhngười ta có thể đưa ra các giao diện lập trình được cùng với dữ liệu, hoặckế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 haikịch bản (scenarios) client-server và server-client, sử dụng chuẩn HTTPvà thông diệp XML (XML messaging) để di chuyển dữ liệu qua tườnglữa (firewall) XML Web Service có thể được viết bằng mọi ngôn ngữ lậptrì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à NETFramework Common Lanuage Runtime Các tính chất và cách sử dụngcó 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ớiASP.NET sẽ rất gần gũi Tuy là như vậy nhưng ASP.NET đã có nhữngthay đổ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ướiASP.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 VisualBasic Scripting Edition sẽ không thể chuyển trực tiếp sang ASP.NET, cầnthiế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 toASP.NET trong MSDN
Trang 30- Truy cập database là kỹ thuật thường được sử dụng để hiểnthị 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 AccessingData with ASP.NET.
- ASP.NET cung cấp một mô hình đơn giản để lập trình viênWeb có thể làm việc như trên một ứng dụng thông thường Lậptrì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íchhợp cho nhu cầu của từng ứng dụng Để có nhiều thông tin hơnhã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ữngsession-state facility gần gủi với lập trình viên ASP và sẳn sàngtương thích với tất cả các giao diện lập trình NET Frameworkkhác (other NET Framework APIs) Để có nhiều thông tin hơnxin 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ụngnhững giao diện lập trình mạnh như giao diện ISAPI (có trongASP), ASP.NET giới thiệu hai giao diện: IhttpHandler vàIhttpModule Cài đặt giao diện IHttpHandler cho phép chươngtrì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 Servicesvà 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ệnIhttpModule cho phép lập trình viên đưa vào những customizeevent 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 HTTPRuntime Support.
- ASP.NET có được những chất lượng thực thi được tìm thấytrong NET Framework và thực thi ngôn ngữ chung (commonlanguage runtime) Ngoài ra ASP.NET đã được thiết kế chomụ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 chophép kết hợp dễ (early binding), kiễu mạnh (strong type), trìnhbiên dịch tức thời (JIT) tương thích native code Ngoài raASP.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) chotrang 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 tinXML chuẩn, hiệu chỉnh dễ dàng , và có thể mở rộng để phù hợpcho 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 chianhỏ phần giao diện người dùng (User Interface) của một ứng dụng thành3 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ậphợ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ụngkhác (như mail…).
Trang 34b.) View (tạm dịch là phần “Hiển thị”): Là phần giao diện vớingườ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ểntoàn bộ logic về hoạt động của giao diện, tương tác với thao tác của ngườidùng (từ chuột, bàn phím và các thiết bị ngoại vi khác) và cập nhật, thaotá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ănglogic điều khiển và chức năng truy cập dữ liệu của chương trình đượcchia thành các phần riêng biệt Java là một ngôn ngữ lập trình hướng đốitượng thuần túy nên việc áp dụng MVC vào các phần mếm viết bằngJava rất dễ dàng và thuận tiện Có hai hình mẫu chính của phương phápthiế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ácnhau đó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ộttrang JSP Trang JSP này sẽ khởi tạo một hoặc nhiều Java Bean (nếu cầnthiết), truyền các lệnh cần thi hành tới Java Bean (không phải EnterpriseJava 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, trangJSP 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 đượcviế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ạpcủ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ế webgiỏi về HTML và đồ họa thực hiện, còn phần điều khiển được ngườichuyê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 model2, một hoặc nhiều servlet (thường là một) đóng vai trò điều khiển, cácJava 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ếthoàn toàn trong các servlet (chương trình Java) Phần hiển thị chỉ gồmcá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ácyêu cầu của người dùng được gửi từ trình duyệt web tới servlet Servletsẽ khởi tạo Java Bean (nếu cần thiết), ra lệnh thu nhập, cập nhập thôngtin Khi Java Bean hoàn thành công việc, servlet sẽ chọn trang JSP thíchhợ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 2mộ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ôngtin 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 logicchương trình hoặc truy cập dữ liệu sẽ gửi tới servlet controller, còn cácyê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ếtkế 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ớimỗ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ị danhsá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 để theodõ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àycó nhiệm vụ thay đổi thông tin người dùng, đưa thêm hay loại bỏ ngườidù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ộtchứ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ăngnày có nhiệm vụ hiển thị danh sách thư mục để quản lý một cách dễ dàngvà 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êmmới hay loại bỏ thư mục trong một hệ thống Chức năng này chỉ có ngườidùng quản trị mới được sử dụng Vì thay đổi nội dung của thư mục làmthay đổ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ộcvà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ứcnăng chính: Hiện thị danh sách Phân Quyền và Thêm sửa xoá PhầnQuyền với Người Dùng.